Adding upstream version 3.1.0+dfsg.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
64dbec996d
commit
cfcebb1a7d
569 changed files with 205393 additions and 0 deletions
206
models/ietf-yang-structure-ext@2020-06-17.yang
Normal file
206
models/ietf-yang-structure-ext@2020-06-17.yang
Normal file
|
@ -0,0 +1,206 @@
|
|||
module ietf-yang-structure-ext {
|
||||
yang-version 1.1;
|
||||
namespace "urn:ietf:params:xml:ns:yang:ietf-yang-structure-ext";
|
||||
prefix sx;
|
||||
|
||||
organization
|
||||
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
|
||||
contact
|
||||
"WG Web: <https://datatracker.ietf.org/wg/netmod/>
|
||||
WG List: <mailto:netmod@ietf.org>
|
||||
|
||||
Author: Andy Bierman
|
||||
<mailto:andy@yumaworks.com>
|
||||
|
||||
Author: Martin Bjorklund
|
||||
<mailto:mbj+ietf@4668.se>
|
||||
|
||||
Author: Kent Watsen
|
||||
<mailto:kent+ietf@watsen.net>";
|
||||
description
|
||||
"This module contains conceptual YANG specifications for defining
|
||||
abstract data structures.
|
||||
|
||||
The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
|
||||
NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
|
||||
'MAY', and 'OPTIONAL' in this document are to be interpreted as
|
||||
described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
|
||||
they appear in all capitals, as shown here.
|
||||
|
||||
Copyright (c) 2020 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 8791
|
||||
(https://www.rfc-editor.org/info/rfc8791); see the RFC itself
|
||||
for full legal notices.";
|
||||
|
||||
revision 2020-06-17 {
|
||||
description
|
||||
"Initial revision.";
|
||||
reference
|
||||
"RFC 8791: YANG Data Structure Extensions.";
|
||||
}
|
||||
|
||||
extension structure {
|
||||
argument name {
|
||||
yin-element true;
|
||||
}
|
||||
description
|
||||
"This extension is used to specify a YANG data structure that
|
||||
represents conceptual data defined in YANG. It is intended to
|
||||
describe hierarchical data independent of protocol context or
|
||||
specific message encoding format. Data definition statements
|
||||
within a 'structure' extension statement specify the generic
|
||||
syntax for the specific YANG data structure, whose name is the
|
||||
argument of the 'structure' extension statement.
|
||||
|
||||
Note that this extension does not define a media type. A
|
||||
specification using this extension MUST specify the message
|
||||
encoding rules, including the content media type, if
|
||||
applicable.
|
||||
|
||||
The mandatory 'name' parameter value identifies the YANG data
|
||||
structure that is being defined.
|
||||
|
||||
This extension is only valid as a top-level statement, i.e.,
|
||||
given as a substatement to 'module' or 'submodule'.
|
||||
|
||||
The substatements of this extension MUST follow the ABNF
|
||||
rules below, where the rules are defined in RFC 7950:
|
||||
|
||||
*must-stmt
|
||||
[status-stmt]
|
||||
[description-stmt]
|
||||
[reference-stmt]
|
||||
*(typedef-stmt / grouping-stmt)
|
||||
*data-def-stmt
|
||||
|
||||
A YANG data structure defined with this extension statement is
|
||||
encoded in the same way as an 'anydata' node. This means
|
||||
that the name of the structure is encoded as a 'container',
|
||||
with the instantiated child statements encoded as child nodes
|
||||
to this node.
|
||||
|
||||
The module name and namespace value for the YANG module using
|
||||
the extension statement are assigned to each of the data
|
||||
definition statements resulting from the YANG data structure.
|
||||
|
||||
The XPath document element is the extension statement itself,
|
||||
such that the child nodes of the document element are
|
||||
represented by the data-def-stmt substatements within this
|
||||
extension. This conceptual document is the context for the
|
||||
following YANG statements:
|
||||
|
||||
- must-stmt
|
||||
- when-stmt
|
||||
- path-stmt
|
||||
- min-elements-stmt
|
||||
- max-elements-stmt
|
||||
- mandatory-stmt
|
||||
- unique-stmt
|
||||
- ordered-by
|
||||
- instance-identifier data type
|
||||
|
||||
The following data-def-stmt substatements are constrained
|
||||
when used within a 'structure' extension statement.
|
||||
|
||||
- The list-stmt is not required to have a key-stmt defined.
|
||||
- The config-stmt is ignored if present.
|
||||
";
|
||||
}
|
||||
|
||||
extension augment-structure {
|
||||
argument path {
|
||||
yin-element true;
|
||||
}
|
||||
description
|
||||
"This extension is used to specify an augmentation to a YANG
|
||||
data structure defined with the 'structure' statement. It is
|
||||
intended to describe hierarchical data independent of protocol
|
||||
context or specific message encoding format.
|
||||
|
||||
This statement has almost the same structure as the
|
||||
'augment-stmt'. Data definition statements within this
|
||||
statement specify the semantics and generic syntax for the
|
||||
additional data to be added to the specific YANG data
|
||||
structure, identified by the 'path' argument.
|
||||
|
||||
The mandatory 'path' parameter value identifies the YANG
|
||||
conceptual data node that is being augmented and is
|
||||
represented as an absolute-schema-nodeid string, where the
|
||||
first node in the absolute-schema-nodeid string identifies the
|
||||
YANG data structure to augment, and the rest of the nodes in
|
||||
the string identifies the node within the YANG structure to
|
||||
augment.
|
||||
|
||||
This extension is only valid as a top-level statement, i.e.,
|
||||
given as a substatement to 'module' or 'submodule'.
|
||||
|
||||
The substatements of this extension MUST follow the ABNF
|
||||
rules below, where the rules are defined in RFC 7950:
|
||||
|
||||
[status-stmt]
|
||||
[description-stmt]
|
||||
[reference-stmt]
|
||||
1*(data-def-stmt / case-stmt)
|
||||
|
||||
The module name and namespace value for the YANG module using
|
||||
the extension statement are assigned to instance document data
|
||||
conforming to the data definition statements within this
|
||||
extension.
|
||||
|
||||
The XPath document element is the augmented extension
|
||||
statement itself, such that the child nodes of the document
|
||||
element are represented by the data-def-stmt substatements
|
||||
within the augmented 'structure' statement.
|
||||
|
||||
The context node of the 'augment-structure' statement is
|
||||
derived in the same way as the 'augment' statement, as defined
|
||||
in Section 6.4.1 of [RFC7950]. This conceptual node is
|
||||
considered the context node for the following YANG statements:
|
||||
|
||||
- must-stmt
|
||||
- when-stmt
|
||||
- path-stmt
|
||||
- min-elements-stmt
|
||||
- max-elements-stmt
|
||||
- mandatory-stmt
|
||||
- unique-stmt
|
||||
- ordered-by
|
||||
- instance-identifier data type
|
||||
|
||||
The following data-def-stmt substatements are constrained
|
||||
when used within an 'augment-structure' extension statement.
|
||||
|
||||
- The list-stmt is not required to have a key-stmt defined.
|
||||
- The config-stmt is ignored if present.
|
||||
|
||||
Example:
|
||||
|
||||
module foo {
|
||||
import ietf-yang-structure-ext { prefix sx; }
|
||||
|
||||
sx:structure foo-data {
|
||||
container foo-con { }
|
||||
}
|
||||
}
|
||||
|
||||
module bar {
|
||||
import ietf-yang-structure-ext { prefix sx; }
|
||||
import foo { prefix foo; }
|
||||
|
||||
sx:augment-structure /foo:foo-data/foo:foo-con {
|
||||
leaf add-leaf1 { type int32; }
|
||||
leaf add-leaf2 { type string; }
|
||||
}
|
||||
}
|
||||
";
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue