问题标签 [ietf-netmod-yang]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
import - 如何在 Yang 中导入模块
我正在尝试构建一个 CLI。我选择使用“阳”来做到这一点。我是新手,不知道如何导入现有模块。例如,我在 github ( https://github.com/YangModels/yang/blob/master/vendor/cisco/xe/1631/ietf-ospf.yang ) 上找到了一个 ospf 模块,我想将它导入我的自己的模块。这可以做到吗?如何?
编辑1:
因此,我尝试使用 Piotr Babij 帮助来做到这一点。不幸的是,这不起作用。我需要改变什么?area-id-type 是 ietf-ospf 的 typedef。我遇到的错误是以下一个:
ietf-netmod-yang - Leafref 要求实例允许携带不存在的值
想弄清楚以下几点:
- 因为强制是假的,我可以有一个没有叶子 lx 的 l1 实例。
- 因为 require-instance 为 false,所以无论是否存在相应的 /x/y,我都可以拥有一个具有任何值(有效类型)的 lx 的列表实例。
并且,假设叶子是强制性的;
现在,列表实例必须携带叶子 lx。并且任何值(正确类型)都是有效的,因为 require-instance 是错误的。
正确的 ?
我什么时候应该使用这个设施?
ietf-netmod-yang - 在任意位置托管异构 yang 模式
我需要能够从整个模式树中的已知点导航异构模式树。
比如说,我定义了一个容器节点 /middleware:devices
当我学习各种设备的设备模式时,想在上述容器下挂钩/托管这些模式
等等
我不想更改我的架构并使用 uses (with the device schemas) 子句,我也不能期望设备架构会增加我的容器。因此,我的 yang 文件都不知道设备架构,这些设备架构也不知道我的 yang 架构。
阳界有什么可以解决这种情况的吗?我看到有关于“安装”的讨论。就是这样吗?还是有其他东西或根本不存在这样的设施?谢谢
ietf-netmod-yang - 删除具有默认值的叶子(阳)
说我有这个
我这样做(restconf):
删除 /c/l2
服务器中的预期行为是什么?是吗
- '删除叶子数据' 或
- '不要删除但保留默认值的叶子'
发出 delete 后,GET 的预期结果是什么
json - 杨用作Xml还是Json?
我只想知道 yang 建模语言是特定的,只能与 NetConf 协议一起使用,还是可以用于对 Xml 和 Json 等数据进行建模?
谢谢
ietf-netmod-yang - 在 yang xpath 表达式中使用 current vs ../
以下代码段中 .. 和 current() 的用法是否正确?意思是,有时 current() 和 ../ 是等价的?
ietf-netmod-yang - 为什么根据 pyang 这个leafref 无效
对于以下
和
yang -f yin tt.yang
.\yy.yang:16: 错误:在 tt.yang:11 (at .\yy.yang:14) 的 l 路径中找不到 yy:x4
- 模块 yy 确实有容器 x4 ,对吗?
- 由于分组下的leafrefs在使用它们的地方得到解决,如果我将容器x4移动到tt.yang,为什么它不起作用?
ietf-netmod-yang - YANG - 非强制容器建模
目前,我正在与 YANG 作为(遗留)Python 项目的一部分一起工作。
我有点卡在定义模式的任务上,然后用它来验证数据,组织成一个 Python 字典。如果可能的话,我会“希望”保留当前的结构,因为很多代码库都在使用这些数据。
“未更改”的数据:
我的问题是标记为“可选”的所有内容(在示例中)都将被建模为容器,但根据RFC6020似乎不能将它们定义为可选(即:强制 false;) 。
因此,我定义了一个使用列表的模型。这意味着 Python Dict 的某些节点(管理、基准、m0、b0、b1)现在是列表元素,无法以当前方式访问,例如:data['namespace']['management']...
修改后的示例如下所示:
YANG 模型的描述(摘自我当前的片段):
验证成功,数据(本身)的转换没有问题,但是导致一大堆破代码。
这导致了我的问题:
- 我是对的 - YANG 中的容器总是强制性的吗?
- 是否有另一种方法来模拟这种情况?(没有打破“太多”)
我非常感谢您的意见,因为我对 YANG 还很陌生!
ietf-netmod-yang - 为什么 pyang 在这种情况下不会抛出错误
以下 when 条件指的是不存在的节点。我想知道为什么 pyang 不抛出错误?确实,如果我使用了错误的前缀。
请您查看何时条件(嵌入在模块中)。
是否允许(在 when 表达式中)从扩充本身中引用模式?
ietf-netmod-yang - 在没有额外叶子的情况下限制 yang leafref 密钥标识符
我有一个带有leafref 的yang 模型,它指向另一个列表中的一个列表。基本上是这样的:
我想用leafref从外面指向some-other-names
列表,但只有大写的名字等于foo。不幸的是,leafref 必须有一个current()
for 限制。所以我目前的解决方案如下,但需要一个额外的叶子,这对于配置来说是完全不必要的。
有没有比这更简单的方法,它不需要额外的叶子来将名称限制为some-names
某个值?
顺便说一句,我已经尝试过,但它不是正确的路径参数: