80 lines
2.9 KiB
YANG
80 lines
2.9 KiB
YANG
module ietf-yang-metadata {
|
|
namespace "urn:ietf:params:xml:ns:yang:ietf-yang-metadata";
|
|
prefix md;
|
|
|
|
organization
|
|
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
|
|
contact
|
|
"WG Web: <https://datatracker.ietf.org/wg/netmod/>
|
|
|
|
WG List: <mailto:netmod@ietf.org>
|
|
|
|
WG Chair: Lou Berger
|
|
<mailto:lberger@labn.net>
|
|
|
|
WG Chair: Kent Watsen
|
|
<mailto:kwatsen@juniper.net>
|
|
|
|
Editor: Ladislav Lhotka
|
|
<mailto:lhotka@nic.cz>";
|
|
description
|
|
"This YANG module defines an 'extension' statement that allows
|
|
for defining metadata annotations.
|
|
|
|
Copyright (c) 2016 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
|
|
(http://trustee.ietf.org/license-info).
|
|
|
|
This version of this YANG module is part of RFC 7952
|
|
(http://www.rfc-editor.org/info/rfc7952); see the RFC itself
|
|
for full legal notices.";
|
|
|
|
revision 2016-08-05 {
|
|
description
|
|
"Initial revision.";
|
|
reference
|
|
"RFC 7952: Defining and Using Metadata with YANG";
|
|
}
|
|
|
|
extension annotation {
|
|
argument name;
|
|
description
|
|
"This extension allows for defining metadata annotations in
|
|
YANG modules. The 'md:annotation' statement can appear only
|
|
at the top level of a YANG module or submodule, i.e., it
|
|
becomes a new alternative in the ABNF production rule for
|
|
'body-stmts' (Section 14 in RFC 7950).
|
|
|
|
The argument of the 'md:annotation' statement defines the name
|
|
of the annotation. Syntactically, it is a YANG identifier as
|
|
defined in Section 6.2 of RFC 7950.
|
|
|
|
An annotation defined with this 'extension' statement inherits
|
|
the namespace and other context from the YANG module in which
|
|
it is defined.
|
|
|
|
The data type of the annotation value is specified in the same
|
|
way as for a leaf data node using the 'type' statement.
|
|
|
|
The semantics of the annotation and other documentation can be
|
|
specified using the following standard YANG substatements (all
|
|
are optional): 'description', 'if-feature', 'reference',
|
|
'status', and 'units'.
|
|
|
|
A server announces support for a particular annotation by
|
|
including the module in which the annotation is defined among
|
|
the advertised YANG modules, e.g., in a NETCONF <hello>
|
|
message or in the YANG library (RFC 7950). The annotation can
|
|
then be attached to any instance of a data node defined in any
|
|
YANG module that is advertised by the server.
|
|
|
|
XML encoding and JSON encoding of annotations are defined in
|
|
RFC 7952.";
|
|
}
|
|
}
|