我在模型中有两个属性:
- 叶协议,
- 叶港。
我想指定:
- 如果协议 = 'ssh' 则默认端口值为 22,
- 如果协议 = 'http' 则默认端口值为 80,
- 等等
我如何用 yang 表达这个?
我在模型中有两个属性:
我想指定:
我如何用 yang 表达这个?
default
YANG中没有条件值 - 您需要两个具有不同值的default
语句,两个语句可能只有一个子语句。但是,您可以解决此问题。也许通过使用 a而不是您的协议:defaults
leaf
default
presence container
leaf
module conditional-default {
namespace "http://example.com/conditional-default";
prefix "excd";
grouping common {
leaf port {
type int32;
}
}
container config {
container ssh {
presence "If this container is present, ssh is configured.";
uses common {
refine port {
default 22;
}
}
}
container http {
presence "If this container is present, http is configured.";
uses common {
refine port {
default 80;
}
}
}
}
}
来自 RFC6020, 7.5.5:
“存在”语句为数据树中容器的存在赋予了意义。它将一个字符串作为参数,该字符串包含对节点存在意味着什么的文本描述。