From d02c2a0b3ab66f3a93a6469b663837b4fe8ac0cb Mon Sep 17 00:00:00 2001 From: Bradley Konane Moon Date: Wed, 29 Jul 2026 18:54:59 +0000 Subject: [PATCH] yang: Move create-only extension definitions to YANG schema - Move hardcoded create-only properties to formal YANG schema annotations. - Resolve Generic Config Updater dependency on custom extension definition. Signed-off-by: Bradley Konane Moon --- models/yang/sonic/common/sonic-extension.yang | 16 ++++++++++++++++ models/yang/version.xml | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/models/yang/sonic/common/sonic-extension.yang b/models/yang/sonic/common/sonic-extension.yang index 0da80e31c..bbe8ba861 100644 --- a/models/yang/sonic/common/sonic-extension.yang +++ b/models/yang/sonic/common/sonic-extension.yang @@ -17,6 +17,22 @@ module sonic-extension { "Initial revision."; } + extension create-only { + description + "During an apply-patch operation, indicates that a node can only be created + or re-created (i.e., deleted and re-added) but cannot be updated in-place. + Any update to a node carrying this extension is realized as a deletion and + recreation of the corresponding object. + + This extension can be defined under: + - leaf or leaf-list: The immutability restriction applies specifically to this field. + - container or list: The restriction applies to the entire container/list, meaning + a change to any field within it triggers a deletion and recreation of the entire entry + (e.g., [table, '*', '*']). + - grouping: The restriction applies to the target leaf/leaf-list at every 'uses' site where + the grouping is expanded."; + } + extension db-name { description "DB name, e.g. APPL_DB, CONFIG_DB"; diff --git a/models/yang/version.xml b/models/yang/version.xml index 3028d6b58..1464cdf40 100644 --- a/models/yang/version.xml +++ b/models/yang/version.xml @@ -28,7 +28,7 @@ --> 1 - 0 + 1 0