+++ /dev/null
-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.";
- }
- }
- }
- }
- }
-}
\ No newline at end of file