module ietf-data-object-tags-state {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-data-object-tags-state";
prefix ntags-s;
import ietf-netconf-acm {
prefix nacm;
}
import ietf-module-tags {
prefix tags;
}
organization
"IETF NetMod Working Group (NetMod)";
contact
"WG Web:
WG List:
Editor: Qin Wu
Editor: Benoit Claise
Editor: Peng Liu
Editor: Zongpeng Du
Editor: Mohamed Boucadair ";
description
"This module describes a mechanism associating self-describing
tags with YANG data object within YANG modules. Tags may be IANA
assigned or privately defined.
Copyright (c) 2021 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
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX
(https://tools.ietf.org/html/rfcXXXX); see the RFC itself for
full legal notices.";
revision 2021-05-03 {
description
"Initial revision.";
reference
"RFC XXXX: Self Describing Data Object Tags";
}
extension opm-tag {
argument tag;
description
"The argument 'tag' is of type 'tag'. This extension statement
is used by module authors to indicate the opm tags that should be
added automatically by the system. Opm Tag is used to classify
operation and management data into object, property subobject, and metric
subobject three categories. Object can contain other objects called subobjects.
Property and metric objects are both subobjects belonging to specific object.
Both object and subobjects can be modeled as data nodes. Object can be one of
container, leaf-list and list. Property subobject is a leaf node. Metric subobject
can be one of container, leaf-list, list, leaf. Object contains zero or many
property subobjects, zero or many metric subobjects. As such the origin of the value
for the pre-defined tags should be set to 'system'.";
}
extension metric-type {
argument tag;
description
"The argument 'tag' is of type 'tag'.The metric-type can be
used to provide metric subobject classification
(e.g., loss, jitter, packet loss, guage, counter, histogram, unknow, etc.)
within the YANG module.";
}
extension multi-source-tag {
argument tag;
description
"The argument 'tag' is of type 'tag'.The multi-source-tag can be
used to identify multi-source aggregation type (e.g., aggregated,
non-aggregated) related to metric subobject.
'aggregated' multi-source aggregation type allows a large number of
measurements on metric subobjects from different sources of the same
type (e.g., line card, each subinterface of aggregated Ethernet interface)
being combined into aggregated statistics and report as one metric subobject
value. 'non-aggregated' multi-source aggregation type allows measurement from
each source of the same type (e.g., line card, each subinterface of aggregated
Ethernet interface) be reported separately.";
}
augment "/tags:module-tags/tags:module" {
description
"Augment the Module Tags module with data object tag attributes.";
container data-object-tags {
config false;
status deprecated;
description
"Contains the list of data objects and their associated self describing tags.";
list data-object {
key "object-name";
status deprecated;
description
"A list of data objects and their associated self describing tags.";
leaf object-name {
type nacm:node-instance-identifier;
mandatory true;
status deprecated;
description
"The YANG data object name.";
}
leaf-list tag {
type tags:tag;
status deprecated;
description
"Tags associated with the data object within the YANG module. See
the IANA 'YANG Data Object Tag Prefixes' registry for reserved
prefixes and the IANA 'IETF YANG Data Object Tags' registry for
IETF tags.
The 'operational' state view of this list is
constructed using the following steps:
1) System tags (i.e., tags of 'system' origin) are added.
2) User configured tags (i.e., tags of 'intended' origin)
are added.
3) Any tag that is equal to a masked-tag is removed.";
}
leaf-list masked-tag {
type tags:tag;
status deprecated;
description
"The list of tags that should not be associated with the data
object within the YANG module. The user can remove (mask) tags from the
operational state datastore by adding them to
this list. It is not an error to add tags to this list
that are not associated with the data object within YANG module,
but they have no operational effect.";
}
}
}
}
}