Configuration templates. These are used to pre-provision full or partial configuration subtrees that can be used like YANG defau...
Version: 2017-02-20
module yumaworks-templates { yang-version 1.1; namespace "http://yumaworks.com/ns/yumaworks-templates"; prefix ytemp; import ietf-netconf { prefix nc; } import ietf-yang-types { prefix yang; } organization "YumaWorks, Inc."; contact "Support <support at yumaworks.com>"; description "Configuration templates. These are used to pre-provision full or partial configuration subtrees that can be used like YANG defaults to provide missing values in actual configuration data. A configuration template can be specified for a container or a list, at any depth in the YANG data model. Configuration templates are only applied when a new instance of configuration data is created by a client with the <edit-config> operation, and only if the <with-template> parameter is used. The template is expanded when the data is created in the candidate or running datastore. The SIL code and all validation is done post-expansion. Configuration data is applied from the template to the data target node in the following manner: * Only the child nodes of the data target node are compared for replacement. * If the corresponding child node already exists and not created by default, then the template child node is not copied. * If the template child node is defined within a YANG choice, then it will only be applied if no case is selected, or the same case is selected in the data target node. The /templates configuration subtree is used to configure named templates that can be used with the <with-template> parameter added to the <edit-config> operation to apply named templates to configuration requests. The with-template leaf-list parameter is added to the edit-config operation. Multiple templates can be applied to the same edit, if the template matches the edit. A template can match the edit with 3 different tests. Only test (1) and (2) are mandatory. 1) with-template=<name>, where <name> matches an instance of /templates/template/name 2) the template <data-target> identifies the same object as the new data node being created 3) if the template contains list keys then it will only be applied if the new data instance has the same key value, for each key leaf present in the template. A missing key leaf matches all instances of the data target. Copyright (c) 2017 - 2018 YumaWorks, Inc. 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 BSD 3-Clause License http://opensource.org/licenses/BSD-3-Clause. "; revision "2017-02-20" { description "Initial version"; } augment /nc:edit-config/nc:input { description "Add the <with-template> parameter to the edit-config operation"; leaf-list with-template { type yang:yang-identifier; ordered-by user; description "Identifies a configuration template to use for this edit operation. The 'target-path' parameter within the template will be matched to data in the configuration request. Templates will be checked in the order given, in case multiple templates for the same data node are provided."; } } container templates { description "Configuration templates for <edit-config>"; list template { key "name"; description "A list of configuration templates. Each named entry contains a data-target representing the schema subtree that applies to the template, and a data node representing the pre-populated values to apply to a new instance of the subtree."; leaf name { type yang:yang-identifier; description "Name of the template"; } leaf data-target { type string; mandatory true; description "Identifies the configuration data object that corresponds to this template. This must be a data node path expression. It is formatted like a RESTCONF path expression, except module names are not mandatory if they are unique. Only the data nodes are specified. No list keys can be provided for the template. Example: /ietf-interfaces:interfaces/interface "; } anydata data { mandatory true; description "Contains a single child element that corresponds to the data node identified by the data-target leaf. This subtree does not need to represent a complete data resource. It must contain well-formed YANG data node representations. YANG validation will only be attempted on real configuration data after the template data has been applied."; } } // list template } // container templates } // module yumaworks-templates
© 2023 YumaWorks, Inc. All rights reserved.