Glossary
Many important terms are also defined in the YANG specification, see section 3 of [RFC7950].
- canonical representation
A normalized string value that [RFC7950] defines for most scalar types.
- content type
Character of a schema node, i.e. whether it represents configuration, non-configuration, or both. Represented by the enumeration
ContentType
.- cooked value
An instance value that is in the internal form prescribed for that instance. That is, scalar values are represented according to their types, while objects and arrays become instances of of
instvalue.ObjectValue
andinstvalue.ArrayValue
, respectively.- data path
A special form of schema path containing only names of data nodes. The relationship of data path and schema path is analogical to how data route is related to schema route.
- data route
A list of qualified names of data nodes interpreted relative to a given reference schema node. As a schema route, a data route also identifes a unique descendant schema node because names of data nodes belonging to the cases of the same choice are required to be unique, see sec. 6.2.1 in [RFC7950].
- implemented module
A YANG module that contributes data nodes to the data model. In YANG library, implemented modules have the conformance-type parameter set to
implement
. See [RFC7895], sec. 2.2.- imported-only module
A YANG module whose data nodes aren’t contributed to the data model. Other modules import such a module in order to use its typedefs and/or groupings. In YANG library, implemented modules have the conformance-type parameter set to
import
. See [RFC7895], sec. 2.2.- instance identifier
A string that identifies a unique instance in the data tree. The syntax of instance identifiers is defined in [RFC7950], sec. 9.13, and [RFC7951], sec. 6.11.
- instance name
A string in the form [module_name
:
]name where name is a name of a data node. Instance names identify nodes in the data tree, and are used both asObjectValue
keys and member names in JSON serialization. See [RFC7951], sec. 4 for details. Python type alias for the instance name isInstanceName
.- module identifier
A tuple in the form (module_name, revision) that identifies a particular revision of a module. The second component, revision, is either a revision date (string in the form
YYYY-MM-DD
) orNone
. In the latter case the revision is unspecified.- namespace identifier
A string identifying the namespace of names defined in a YANG module or submodule. For main modules, the namespace identifier is identical to the module name whereas for submodules it is the name of the main module to which the submodule belongs.
- node identifier
Name of a single schema node with optional namespace prefix. See production
node-identifier
in [RFC7950], sec. 14.- prefixed name
A string in the form [prefix:]name where name is the name of a YANG entity (schema node, feature, identity etc.), and prefix is the namespace prefix declared for the module in which the entity is defined. Python type alias for the prefixed name is
PrefName
.- qualified name
A tuple in the form (name, module) where name is the name of a YANG entity (schema or data node, feature, identity etc.), and module is the name of the YANG module in which the entity is defined. Python type alias for the qualified name is
QualName
.- raw value
A value of an instance that is produced by the Python parser from serialised JSON data. Based on its type and data model information, a raw value is transformed to a cooked value.
- resource identifier
A string identifying an instance in the data tree that is suitable for use in URLs. The syntax of resource identifiers is defined in [RFC8040], sec. 3.5.3.
- schema error
The value of instance node violates a schema constraint, i.e. one of the following: grammar defined by the hierarchy of schema nodes (also taking into account conditions specified by when and if-feature statements), type of the value, presence and uniqueness of list keys.
- schema node identifier
A sequence of prefixed names of schema nodes separated with slashes. A schema node identifier that starts with a slash is absolute, otherwise it is relative. See [RFC7950], sec. 6.5.
- schema path
A string of slash-separated schema node names in the form [module_name
:
]schema_node_name. The initial component must always be qualified with a module name. Any subsequent component is qualified with a module name if and only if its namespace is different from the previous component. A schema path is always absolute, i.e. starts at the top of the schema. A leading slash is optional. Python type alias for the schema path isSchemaPath
.- schema route
A list of qualified names of schema nodes interpreted relative to a given reference schema node and uniquely identifies its descendant schema node. Python type alias for the schema route is
SchemaRoute
.- semantic error
The value of an instance node violates a semantic rule, i.e. one of the following: must expression, referential integrity constraint (for leaf nodes with leafref or instance-identifier type), number of list entries prescribed by min-elements and max-elements statements, unique constraint specified for a list node, non-unique values of a leaf-list node that represents configuration.
- validation scope
Set of validation constraints that can be checked during validation. It can be schema constraints, semantic rules, or both. Represented by the enumeration
ValidationScope
. See alsoyangson.instance.InstanceNode.validate()
.- YANG identifier
A string satisfying the rules for a YANG identifier (see sec. 6.2 in [RFC7950]): it starts with an uppercase or lowercase ASCII letter or an underscore character (
_
), followed by zero or more ASCII letters, digits, underscore characters, hyphens, and dots. Python type alias for the YANG identifier isYangIdentifier
.