问题标签 [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.

0 投票
1 回答
3628 浏览

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。我遇到的错误是以下一个:

0 投票
1 回答
420 浏览

ietf-netmod-yang - Leafref 要求实例允许携带不存在的值

想弄清楚以下几点:

  1. 因为强制是假的,我可以有一个没有叶子 lx 的 l1 实例。
  2. 因为 require-instance 为 false,所以无论是否存在相应的 /x/y,我都可以拥有一个具有任何值(有效类型)的 lx 的列表实例。

并且,假设叶子是强制性的;

现在,列表实例必须携带叶子 lx。并且任何值(正确类型)都是有效的,因为 require-instance 是错误的。

正确的 ?

我什么时候应该使用这个设施?

0 投票
0 回答
40 浏览

ietf-netmod-yang - 在任意位置托管异构 yang 模式

我需要能够从整个模式树中的已知点导航异构模式树。

比如说,我定义了一个容器节点 /middleware:devices

当我学习各种设备的设备模式时,想在上述容器下挂钩/托管这些模式

等等

我不想更改我的架构并使用 uses (with the device schemas) 子句,我也不能期望设备架构会增加我的容器。因此,我的 yang 文件都不知道设备架构,这些设备架构也不知道我的 yang 架构。

阳界有什么可以解决这种情况的吗?我看到有关于“安装”的讨论。就是这样吗?还是有其他东西或根本不存在这样的设施?谢谢

0 投票
1 回答
874 浏览

ietf-netmod-yang - 删除具有默认值的叶子(阳)

说我有这个

我这样做(restconf):

删除 /c/l2

服务器中的预期行为是什么?是吗

  • '删除叶子数据' 或
  • '不要删除但保留默认值的叶子'

发出 delete 后,GET 的预期结果是什么

0 投票
1 回答
3570 浏览

json - 杨用作Xml还是Json?

我只想知道 yang 建模语言是特定的,只能与 NetConf 协议一起使用,还是可以用于对 Xml 和 Json 等数据进行建模?

谢谢

0 投票
1 回答
820 浏览

ietf-netmod-yang - 在 yang xpath 表达式中使用 current vs ../

以下代码段中 .. 和 current() 的用法是否正确?意思是,有时 current() 和 ../ 是等价的?

0 投票
1 回答
269 浏览

ietf-netmod-yang - 为什么根据 pyang 这个leafref 无效

对于以下

yang -f yin tt.yang

.\yy.yang:16: 错误:在 tt.yang:11 (at .\yy.yang:14) 的 l 路径中找不到 yy:x4

  1. 模块 yy 确实有容器 x4 ,对吗?
  2. 由于分组下的leafrefs在使用它们的地方得到解决,如果我将容器x4移动到tt.yang,为什么它不起作用?
0 投票
1 回答
3084 浏览

ietf-netmod-yang - YANG - 非强制容器建模

目前,我正在与 YANG 作为(遗留)Python 项目的一部分一起工作。

我有点卡在定义模式的任务上,然后用它来验证数据,组织成一个 Python 字典。如果可能的话,我会“希望”保留当前的结构,因为很多代码库都在使用这些数据。

“未更改”的数据:

我的问题是标记为“可选”的所有内容(在示例中)都将被建模为容器,但根据RFC6020似乎不能将它们定义为可选(即:强制 false;) 。

因此,我定义了一个使用列表的模型。这意味着 Python Dict 的某些节点(管理、基准、m0、b0、b1)现在是列表元素,无法以当前方式访问,例如:data['namespace']['management']...

修改后的示例如下所示:

YANG 模型的描述(摘自我当前的片段):

验证成功,数据(本身)的转换没有问题,但是导致一大堆破代码。

这导致了我的问题:

  1. 我是对的 - YANG 中的容器总是强制性的吗?
  2. 是否有另一种方法来模拟这种情况?(没有打破“太多”)

我非常感谢您的意见,因为我对 YANG 还很陌生!

0 投票
1 回答
83 浏览

ietf-netmod-yang - 为什么 pyang 在这种情况下不会抛出错误

以下 when 条件指的是不存在的节点。我想知道为什么 pyang 不抛出错误?确实,如果我使用了错误的前缀。

请您查看何时条件(嵌入在模块中)。

是否允许(在 when 表达式中)从扩充本身中引用模式?

0 投票
1 回答
688 浏览

ietf-netmod-yang - 在没有额外叶子的情况下限制 yang leafref 密钥标识符

我有一个带有leafref 的yang 模型,它指向另一个列表中的一个列表。基本上是这样的:

我想用leafref从外面指向some-other-names列表,但只有大写的名字等于foo。不幸的是,leafref 必须有一个current()for 限制。所以我目前的解决方案如下,但需要一个额外的叶子,这对于配置来说是完全不必要的。

有没有比这更简单的方法,它不需要额外的叶子来将名称限制为some-names某个值?

顺便说一句,我已经尝试过,但它不是正确的路径参数: