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
224
models/ietf-yang-schema-mount@2019-01-14.yang
Normal file
224
models/ietf-yang-schema-mount@2019-01-14.yang
Normal file
|
@ -0,0 +1,224 @@
|
|||
module ietf-yang-schema-mount {
|
||||
yang-version 1.1;
|
||||
namespace "urn:ietf:params:xml:ns:yang:ietf-yang-schema-mount";
|
||||
prefix yangmnt;
|
||||
|
||||
import ietf-inet-types {
|
||||
prefix inet;
|
||||
reference
|
||||
"RFC 6991: Common YANG Data Types";
|
||||
}
|
||||
|
||||
import ietf-yang-types {
|
||||
prefix yang;
|
||||
reference
|
||||
"RFC 6991: Common YANG Data Types";
|
||||
}
|
||||
|
||||
organization
|
||||
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
|
||||
|
||||
contact
|
||||
"WG Web: <https://datatracker.ietf.org/wg/netmod/>
|
||||
WG List: <mailto:netmod@ietf.org>
|
||||
|
||||
Editor: Martin Bjorklund
|
||||
<mailto:mbj@tail-f.com>
|
||||
|
||||
Editor: Ladislav Lhotka
|
||||
<mailto:lhotka@nic.cz>";
|
||||
|
||||
description
|
||||
"This module defines a YANG extension statement that can be used
|
||||
to incorporate data models defined in other YANG modules in a
|
||||
module. It also defines operational state data that specify the
|
||||
overall structure of the data model.
|
||||
|
||||
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) 2019 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 8528;
|
||||
see the RFC itself for full legal notices.";
|
||||
|
||||
revision 2019-01-14 {
|
||||
description
|
||||
"Initial revision.";
|
||||
reference
|
||||
"RFC 8528: YANG Schema Mount";
|
||||
}
|
||||
|
||||
/*
|
||||
* Extensions
|
||||
*/
|
||||
|
||||
extension mount-point {
|
||||
argument label;
|
||||
description
|
||||
"The argument 'label' is a YANG identifier, i.e., it is of the
|
||||
type 'yang:yang-identifier'.
|
||||
|
||||
The 'mount-point' statement MUST NOT be used in a YANG
|
||||
version 1 module, neither explicitly nor via a 'uses'
|
||||
statement.
|
||||
The 'mount-point' statement MAY be present as a substatement
|
||||
of 'container' and 'list' and MUST NOT be present elsewhere.
|
||||
There MUST NOT be more than one 'mount-point' statement in a
|
||||
given 'container' or 'list' statement.
|
||||
|
||||
If a mount point is defined within a grouping, its label is
|
||||
bound to the module where the grouping is used.
|
||||
|
||||
A mount point defines a place in the node hierarchy where
|
||||
other data models may be attached. A server that implements a
|
||||
module with a mount point populates the
|
||||
'/schema-mounts/mount-point' list with detailed information on
|
||||
which data models are mounted at each mount point.
|
||||
|
||||
Note that the 'mount-point' statement does not define a new
|
||||
data node.";
|
||||
}
|
||||
|
||||
/*
|
||||
* State data nodes
|
||||
*/
|
||||
|
||||
container schema-mounts {
|
||||
config false;
|
||||
description
|
||||
"Contains information about the structure of the overall
|
||||
mounted data model implemented in the server.";
|
||||
list namespace {
|
||||
key "prefix";
|
||||
description
|
||||
"This list provides a mapping of namespace prefixes that are
|
||||
used in XPath expressions of 'parent-reference' leafs to the
|
||||
corresponding namespace URI references.";
|
||||
leaf prefix {
|
||||
type yang:yang-identifier;
|
||||
description
|
||||
"Namespace prefix.";
|
||||
}
|
||||
leaf uri {
|
||||
type inet:uri;
|
||||
description
|
||||
"Namespace URI reference.";
|
||||
}
|
||||
}
|
||||
list mount-point {
|
||||
key "module label";
|
||||
|
||||
description
|
||||
"Each entry of this list specifies a schema for a particular
|
||||
mount point.
|
||||
|
||||
Each mount point MUST be defined using the 'mount-point'
|
||||
extension in one of the modules listed in the server's
|
||||
YANG library instance with conformance type 'implement'.";
|
||||
leaf module {
|
||||
type yang:yang-identifier;
|
||||
description
|
||||
"Name of a module containing the mount point.";
|
||||
}
|
||||
leaf label {
|
||||
type yang:yang-identifier;
|
||||
description
|
||||
"Label of the mount point defined using the 'mount-point'
|
||||
extension.";
|
||||
}
|
||||
leaf config {
|
||||
type boolean;
|
||||
default "true";
|
||||
description
|
||||
"If this leaf is set to 'false', then all data nodes in the
|
||||
mounted schema are read-only ('config false'), regardless
|
||||
of their 'config' property.";
|
||||
}
|
||||
choice schema-ref {
|
||||
mandatory true;
|
||||
description
|
||||
"Alternatives for specifying the schema.";
|
||||
container inline {
|
||||
presence
|
||||
"A complete self-contained schema is mounted at the
|
||||
mount point.";
|
||||
description
|
||||
"This node indicates that the server has mounted at least
|
||||
the module 'ietf-yang-library' at the mount point, and
|
||||
its instantiation provides the information about the
|
||||
mounted schema.
|
||||
|
||||
Different instances of the mount point may have
|
||||
different schemas mounted.";
|
||||
}
|
||||
container shared-schema {
|
||||
presence
|
||||
"The mounted schema together with the 'parent-reference'
|
||||
make up the schema for this mount point.";
|
||||
|
||||
description
|
||||
"This node indicates that the server has mounted at least
|
||||
the module 'ietf-yang-library' at the mount point, and
|
||||
its instantiation provides the information about the
|
||||
mounted schema. When XPath expressions in the mounted
|
||||
schema are evaluated, the 'parent-reference' leaf-list
|
||||
is taken into account.
|
||||
|
||||
Different instances of the mount point MUST have the
|
||||
same schema mounted.";
|
||||
leaf-list parent-reference {
|
||||
type yang:xpath1.0;
|
||||
description
|
||||
"Entries of this leaf-list are XPath 1.0 expressions
|
||||
that are evaluated in the following context:
|
||||
|
||||
- The context node is the node in the parent data tree
|
||||
where the mount-point is defined.
|
||||
|
||||
- The accessible tree is the parent data tree
|
||||
*without* any nodes defined in modules that are
|
||||
mounted inside the parent schema.
|
||||
|
||||
- The context position and context size are both equal
|
||||
to 1.
|
||||
|
||||
- The set of variable bindings is empty.
|
||||
|
||||
- The function library is the core function library
|
||||
defined in the W3C XPath 1.0 document
|
||||
(http://www.w3.org/TR/1999/REC-xpath-19991116) and
|
||||
the functions defined in Section 10 of RFC 7950.
|
||||
|
||||
- The set of namespace declarations is defined by the
|
||||
'namespace' list under 'schema-mounts'.
|
||||
|
||||
Each XPath expression MUST evaluate to a node-set
|
||||
(possibly empty). For the purposes of evaluating
|
||||
XPath expressions whose context nodes are defined in
|
||||
the mounted schema, the union of all these node-sets
|
||||
together with ancestor nodes are added to the
|
||||
accessible data tree.
|
||||
|
||||
Note that in the case 'ietf-yang-schema-mount' is
|
||||
itself mounted, a 'parent-reference' in the mounted
|
||||
module may refer to nodes that were brought into the
|
||||
accessible tree through a 'parent-reference' in the
|
||||
parent schema.";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue