阳约束(独特)

问题描述 投票:0回答:1

我想通过以下方式添加约束: efg.yang 具有以下结构:

module efg {
  container deps {
    container my-deps {
      list my-dp {
        key "key-dp";
        leaf key-dp {
          type string;
        }
        
        list high-bw {
          type boolean;
        }
        // ... other leaf definitions ...
      }
    }
  }
}

我希望列表“my-dp”即使在“high-bw”为空时也能够存在。但是,如果至少存在一个“high-bw”,则不应允许删除“my-dp”实例。 我如何实现这一目标?

我尝试添加一个必须约束: 必须“(count(high-bw)=>1 and key-dp) or (count(high-bw)=0)”。没有满足我的要求。

configuration rfc yang netconf
1个回答
0
投票

YANG 中没有任何约束会使配置树在运行时变为“只读”或“锁定更改”(基于数据节点状态)。

YANG 能做的最好的事情就是要求一定数量的列表条目始终存在(

min-elements
)。它还可以定义 XPath 断言,使其在执行列表条目删除后失败 (
must
)。

也许您真正想做的是定义两个同级列表,其中第二个列表的键是第一个列表键的 leafref。这样,第一个列表条目的实例可以单独存在,但第二个列表条目的实例将需要第一个列表条目的实例。

© www.soinside.com 2019 - 2024. All rights reserved.