ietf-subscribed-notifications@2019-07-30.yang   ietf-subscribed-notifications@2019-07-30-formatted.yang 
module ietf-subscribed-notifications { module ietf-subscribed-notifications {
yang-version 1.1; yang-version 1.1;
namespace namespace "urn:ietf:params:xml:ns:yang:ietf-subscribed-notifications";
"urn:ietf:params:xml:ns:yang:ietf-subscribed-notifications";
prefix sn; prefix sn;
import ietf-inet-types { import ietf-inet-types {
prefix inet; prefix inet;
reference reference
"RFC 6991: Common YANG Data Types"; "RFC 6991: Common YANG Data Types";
} }
import ietf-interfaces { import ietf-interfaces {
prefix if; prefix if;
reference reference
skipping to change at line 28 skipping to change at line 26
import ietf-netconf-acm { import ietf-netconf-acm {
prefix nacm; prefix nacm;
reference reference
"RFC 8341: Network Configuration Access Control Model"; "RFC 8341: Network Configuration Access Control Model";
} }
import ietf-network-instance { import ietf-network-instance {
prefix ni; prefix ni;
reference reference
"RFC 8529: YANG Data Model for Network Instances"; "RFC 8529: YANG Data Model for Network Instances";
} }
import ietf-restconf { import ietf-restconf {
prefix rc; prefix rc;
reference reference
"RFC 8040: RESTCONF Protocol"; "RFC 8040: RESTCONF Protocol";
} }
import ietf-yang-types { import ietf-yang-types {
prefix yang; prefix yang;
reference reference
"RFC 6991: Common YANG Data Types"; "RFC 6991: Common YANG Data Types";
} }
skipping to change at line 188 skipping to change at line 185
notification. Therefore, it does not participate in a regular notification. Therefore, it does not participate in a regular
event stream and does not need to be specifically subscribed event stream and does not need to be specifically subscribed
to in order to be received. This statement can only occur as to in order to be received. This statement can only occur as
a substatement of the YANG 'notification' statement. This a substatement of the YANG 'notification' statement. This
statement is not for use outside of this YANG module."; statement is not for use outside of this YANG module.";
} }
/* /*
* IDENTITIES * IDENTITIES
*/ */
/* Identities for RPC and notification errors */ /* Identities for RPC and notification errors */
identity delete-subscription-error { identity delete-subscription-error {
description description
"Base identity for the problem found while attempting to "Base identity for the problem found while attempting to
fulfill either a 'delete-subscription' RPC request or a fulfill either a 'delete-subscription' RPC request or a
'kill-subscription' RPC request."; 'kill-subscription' RPC request.";
} }
identity establish-subscription-error { identity establish-subscription-error {
description description
"Base identity for the problem found while attempting to "Base identity for the problem found while attempting to
fulfill an 'establish-subscription' RPC request."; fulfill an 'establish-subscription' RPC request.";
} }
identity modify-subscription-error { identity modify-subscription-error {
description description
"Base identity for the problem found while attempting to "Base identity for the problem found while attempting to
fulfill a 'modify-subscription' RPC request."; fulfill a 'modify-subscription' RPC request.";
} }
identity subscription-suspended-reason { identity subscription-suspended-reason {
description description
"Base identity for the problem condition communicated to a "Base identity for the problem condition communicated to a
receiver as part of a 'subscription-suspended' receiver as part of a 'subscription-suspended'
notification."; notification.";
} }
identity subscription-terminated-reason { identity subscription-terminated-reason {
description description
"Base identity for the problem condition communicated to a "Base identity for the problem condition communicated to a
receiver as part of a 'subscription-terminated' receiver as part of a 'subscription-terminated'
notification."; notification.";
} }
identity dscp-unavailable { identity dscp-unavailable {
base establish-subscription-error; base establish-subscription-error;
if-feature "dscp"; if-feature "dscp";
description description
"The publisher is unable to mark notification messages with "The publisher is unable to mark notification messages with
prioritization information in a way that will be respected prioritization information in a way that will be respected
during network transit."; during network transit.";
} }
skipping to change at line 502 skipping to change at line 499
default "0"; default "0";
description description
"The desired network transport priority level. This is the "The desired network transport priority level. This is the
priority set on notification messages encapsulating the priority set on notification messages encapsulating the
results of the subscription. This transport priority is results of the subscription. This transport priority is
shared for all receivers of a given subscription."; shared for all receivers of a given subscription.";
} }
leaf weighting { leaf weighting {
if-feature "qos"; if-feature "qos";
type uint8 { type uint8 {
range "0 .. 255"; range "0 .. 255";
} }
description description
"Relative weighting for a subscription. Larger weights get "Relative weighting for a subscription. Larger weights get
more resources. Allows an underlying transport layer to more resources. Allows an underlying transport layer to
perform informed load-balance allocations between various perform informed load-balance allocations between various
subscriptions."; subscriptions.";
reference reference
"RFC 7540: Hypertext Transfer Protocol Version 2 (HTTP/2), "RFC 7540: Hypertext Transfer Protocol Version 2 (HTTP/2),
Section 5.3.2"; Section 5.3.2";
} }
skipping to change at line 693 skipping to change at line 691
output { output {
leaf id { leaf id {
type subscription-id; type subscription-id;
mandatory true; mandatory true;
description description
"Identifier used for this subscription."; "Identifier used for this subscription.";
} }
leaf replay-start-time-revision { leaf replay-start-time-revision {
if-feature "replay"; if-feature "replay";
type yang:date-and-time; type yang:date-and-time;
description description
"If a replay has been requested, this object represents "If a replay has been requested, this object represents
the earliest time covered by the event buffer for the the earliest time covered by the event buffer for the
requested event stream. The value of this object is the requested event stream. The value of this object is the
'replay-log-aged-time' if it exists. Otherwise, it is 'replay-log-aged-time' if it exists. Otherwise, it is
the 'replay-log-creation-time'. All buffered event the 'replay-log-creation-time'. All buffered event
records after this time will be replayed to a receiver. records after this time will be replayed to a receiver.
This object will only be sent if the starting time has This object will only be sent if the starting time has
been revised to be later than the time requested by the been revised to be later than the time requested by the
subscriber."; subscriber.";
} }
} }
} }
rc:yang-data establish-subscription-stream-error-info { rc:yang-data establish-subscription-stream-error-info {
container establish-subscription-stream-error-info { container establish-subscription-stream-error-info {
description description
"If any 'establish-subscription' RPC parameters are "If any 'establish-subscription' RPC parameters are
unsupportable against the event stream, a subscription unsupportable against the event stream, a subscription
is not created and the RPC error response MUST indicate the is not created and the RPC error response MUST indicate the
skipping to change at line 725 skipping to change at line 723
subscription's RPC error response to indicate the reason for subscription's RPC error response to indicate the reason for
the failure. This yang-data MUST be inserted if hints are the failure. This yang-data MUST be inserted if hints are
to be provided back to the subscriber."; to be provided back to the subscriber.";
leaf reason { leaf reason {
type identityref { type identityref {
base establish-subscription-error; base establish-subscription-error;
} }
description description
"Indicates the reason why the subscription has failed to "Indicates the reason why the subscription has failed to
be created to a targeted event stream."; be created to a targeted event stream.";
} }
leaf filter-failure-hint { leaf filter-failure-hint {
type string; type string;
description description
"Information describing where and/or why a provided "Information describing where and/or why a provided
filter was unsupportable for a subscription. The filter was unsupportable for a subscription. The
syntax and semantics of this hint are syntax and semantics of this hint are
implementation specific."; implementation specific.";
} }
} }
} }
rpc modify-subscription { rpc modify-subscription {
description description
"This RPC allows a subscriber to modify a dynamic "This RPC allows a subscriber to modify a dynamic
subscription's parameters. If successful, the changed subscription's parameters. If successful, the changed
subscription parameters remain in effect for the duration of subscription parameters remain in effect for the duration of
the subscription, until the subscription is again modified, or the subscription, until the subscription is again modified, or
skipping to change at line 782 skipping to change at line 780
type identityref { type identityref {
base modify-subscription-error; base modify-subscription-error;
} }
description description
"Information in a 'modify-subscription' RPC error response "Information in a 'modify-subscription' RPC error response
that indicates the reason why the subscription to an event that indicates the reason why the subscription to an event
stream has failed to be modified."; stream has failed to be modified.";
} }
leaf filter-failure-hint { leaf filter-failure-hint {
type string; type string;
description description
"Information describing where and/or why a provided "Information describing where and/or why a provided
filter was unsupportable for a subscription. The syntax filter was unsupportable for a subscription. The syntax
and semantics of this hint are and semantics of this hint are
implementation specific."; implementation specific.";
} }
} }
} }
rpc delete-subscription { rpc delete-subscription {
description description
"This RPC allows a subscriber to delete a subscription that "This RPC allows a subscriber to delete a subscription that
was previously created by that same subscriber using the was previously created by that same subscriber using the
'establish-subscription' RPC. 'establish-subscription' RPC.
skipping to change at line 946 skipping to change at line 944
"This notification indicates that a subscription has started "This notification indicates that a subscription has started
and notifications will now be sent."; and notifications will now be sent.";
leaf id { leaf id {
type subscription-id; type subscription-id;
mandatory true; mandatory true;
description description
"This references the affected subscription."; "This references the affected subscription.";
} }
uses subscription-policy { uses subscription-policy {
refine "target/stream/replay-start-time" { refine "target/stream/replay-start-time" {
description description
"Indicates the time that a replay is using for the "Indicates the time that a replay is using for the
streaming of buffered event records. This will be streaming of buffered event records. This will be
populated with the most recent of the following: populated with the most recent of the following:
the event time of the previous event record sent to a the event time of the previous event record sent to a
receiver, the 'replay-log-creation-time', the receiver, the 'replay-log-creation-time', the
'replay-log-aged-time', or the most recent publisher 'replay-log-aged-time', or the most recent publisher
boot time."; boot time.";
} }
refine "target/stream/stream-filter/within-subscription" { refine "target/stream/stream-filter/within-subscription" {
description description
"Filter applied to the subscription. If the "Filter applied to the subscription. If the
'stream-filter-name' is populated, the filter in the 'stream-filter-name' is populated, the filter in the
subscription came from the 'filters' container. subscription came from the 'filters' container.
Otherwise, it is populated in-line as part of the Otherwise, it is populated in-line as part of the
subscription."; subscription.";
} }
augment "target/stream" { augment "target/stream" {
description description
"This augmentation adds additional parameters specific to a "This augmentation adds additional parameters specific to a
'subscription-started' notification."; 'subscription-started' notification.";
leaf replay-previous-event-time { leaf replay-previous-event-time {
when "../replay-start-time"; when '../replay-start-time';
if-feature "replay"; if-feature "replay";
type yang:date-and-time; type yang:date-and-time;
description description
"If there is at least one event in the replay buffer "If there is at least one event in the replay buffer
prior to 'replay-start-time', this gives the time of prior to 'replay-start-time', this gives the time of
the event generated immediately prior to the the event generated immediately prior to the
'replay-start-time'. 'replay-start-time'.
If a receiver previously received event records for If a receiver previously received event records for
this configured subscription, it can compare this time this configured subscription, it can compare this time
to the last event record previously received. If the to the last event record previously received. If the
two are not the same (perhaps due to a reboot), then a two are not the same (perhaps due to a reboot), then a
dynamic replay can be initiated to acquire any missing dynamic replay can be initiated to acquire any missing
event records."; event records.";
} }
} }
} }
} }
notification subscription-suspended { notification subscription-suspended {
sn:subscription-state-notification; sn:subscription-state-notification;
description description
"This notification indicates that a suspension of the "This notification indicates that a suspension of the
subscription by the publisher has occurred. No further subscription by the publisher has occurred. No further
skipping to change at line 1070 skipping to change at line 1068
available in this event stream."; available in this event stream.";
} }
leaf replay-support { leaf replay-support {
if-feature "replay"; if-feature "replay";
type empty; type empty;
description description
"Indicates that event record replay is available on this "Indicates that event record replay is available on this
event stream."; event stream.";
} }
leaf replay-log-creation-time { leaf replay-log-creation-time {
when "../replay-support"; when '../replay-support';
if-feature "replay"; if-feature "replay";
type yang:date-and-time; type yang:date-and-time;
mandatory true; mandatory true;
description description
"The timestamp of the creation of the log used to support "The timestamp of the creation of the log used to support
the replay function on this event stream. This time the replay function on this event stream. This time
might be earlier than the earliest available information might be earlier than the earliest available information
contained in the log. This object is updated if the log contained in the log. This object is updated if the log
resets for some reason."; resets for some reason.";
} }
leaf replay-log-aged-time { leaf replay-log-aged-time {
when "../replay-support"; when '../replay-support';
if-feature "replay"; if-feature "replay";
type yang:date-and-time; type yang:date-and-time;
description description
"The timestamp associated with the last event record that "The timestamp associated with the last event record that
has been aged out of the log. This timestamp identifies has been aged out of the log. This timestamp identifies
how far back in history this replay log extends, if it how far back in history this replay log extends, if it
doesn't extend back to the 'replay-log-creation-time'. doesn't extend back to the 'replay-log-creation-time'.
This object MUST be present if replay is supported and any This object MUST be present if replay is supported and any
event records have been aged out of the log."; event records have been aged out of the log.";
} }
skipping to change at line 1236 skipping to change at line 1232
parameters."; parameters.";
} }
enum invalid { enum invalid {
value 2; value 2;
description description
"The subscription as a whole is unsupportable with its "The subscription as a whole is unsupportable with its
current parameters."; current parameters.";
} }
enum concluded { enum concluded {
value 3; value 3;
description description
"A subscription is inactive, as it has hit a "A subscription is inactive, as it has hit a
stop time. It no longer has receivers in the stop time. It no longer has receivers in the
'receiver active' or 'receiver suspended' state, 'receiver active' or 'receiver suspended' state,
but the subscription has not yet been removed from but the subscription has not yet been removed from
configuration."; configuration.";
} }
} }
config false; config false;
description description
"The presence of this leaf indicates that the subscription "The presence of this leaf indicates that the subscription
originated from configuration, not through a control originated from configuration, not through a control
channel or RPC. The value indicates the state of the channel or RPC. The value indicates the state of the
subscription as established by the publisher."; subscription as established by the publisher.";
} }
container receivers { container receivers {
 End of changes. 20 change blocks. 
73 lines changed or deleted 70 lines changed or added

This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/