如何将“YANG”数据模型转换为“JSON”?由于网络上有很多可用的文档,因此它们将 YANG synatx 更改为 JSON,但是它们获得的叶子或叶子列表的值如何?它从哪里以及如何从 YANG 获取 JSON 中的实际数据?
如何在java中解析YANG模型?我需要将yang模型转换为xml格式.
我已经尝试过pyang了.但由于它是在python中,它不符合我的要求.
我一直在尝试找到一些可以从java中的 yang 模型生成示例 xml/json 数据的东西,例如对于 xsd,有一些工具可以生成示例 xml。
我尝试过 Pyang: 1. 它是用 Python 编写的。2. 转换后,它给出了 yin 格式,它相当于 yang 规格的 xml。例如。对于以下 yang 代码,如果我使用 pyang 将其转换为 YIN:
leaf templateSendPeriod {
when "../exportProtocol!='netflow-v5'";
type uint16;
default 60;
units seconds;
}
Run Code Online (Sandbox Code Playgroud)
这就是我得到的——
<leaf name="templateSendPeriod">
<when condition="../exportProtocol!='netflow-v5'"/>
<type name="uint16"/>
<default value="60"/>
<units name="seconds"/>
</leaf>
Run Code Online (Sandbox Code Playgroud)
相反我想要的是
<templateSendPeriod></templateSendPeriod>
Run Code Online (Sandbox Code Playgroud)
这样我就可以获得 xml,输入详细信息并针对相同的 yang 进行验证。
我能够使用opendaylight模拟器模拟netconf设备.在启动期间,我也提供了yang schemas路径.
但是,当我通过netconf登录设备并发送适用于yang架构的任何RPC请求时,设备没有响应.
虽然如果我的rpc请求中存在任何语法错误,模拟器设备会抛出错误,但它没有响应任何数据.
在opendaylight github页面中提到,对于"set"请求,默认情况下会有OK响应,但我没有看到任何请求的响应.
另外,我没有在运行bash会话的模拟器中看到任何错误日志.
什么是错误的任何想法?
我无法理解 Yang action 与 Yang rpc 之间的确切区别以及anydata 与anyxml 之间的区别。为什么有人应该使用anydata 或anyxml 进行建模?我尝试查找有关此的更多信息,但找不到。任何有关这方面的信息都非常有帮助。
我已阅读https://en.wikipedia.org/wiki/YANG但仍然无法理解 的实际用途YANG
及其提供的好处。据我了解,它现在不仅像最初设计的那样由 NETCONF 使用。YANG
不是普通意义上的语言,例如C
,python
我们所写的任何内容都YANG
不会被编译或翻译;据我了解,它被用作更高级别的库或应用程序的参考模型。那么问题是高层代码如何理解呢YANG
?
我们正在尝试对网络设备的配置进行建模。该模型将非常分层。在 Yang vs Protobuf 中编写模型的优缺点是什么?
我想知道我们是否可以在元素 leaf、list 等之一中定义自定义字段或属性。例如:这可能吗?如果可能的话,我们如何定义这些字段。
model Animal{
leaf amphibian{
type String;
custom "Frog"; // Custom field which has a value "Frog"
}
}
Run Code Online (Sandbox Code Playgroud) 我的模型有两个属性:
我想具体说明的是:
我该如何用 yang 来表达这个意思?
YANG模型中的Operational和Config有什么区别?这是在操作和配置中支持 GET、PUT、POST 和 DELETE 接口的正确方法吗?
据我了解,Yang 模型中的“when”语句采用 XPATH 表达式作为其参数。
组合多个表达式以便对类型/值数据容器进行建模的正确 YANG XPATH 语法是什么?
container c1 {
leaf attrib-type {
type uint32;
}
leaf attrib-val-int {
when "../attrib-type = 1 or ../attrib-type = 2"
type uint32;
}
leaf attrib-val-string {
when "../attrib-type = 5 or ../attrib-type = 6"
type string;
}
}
Run Code Online (Sandbox Code Playgroud) ietf-netmod-yang ×11
ietf-netconf ×2
java ×2
json ×2
opendaylight ×2
schema ×2
model ×1
parsing ×1
protobuf-net ×1
python ×1
python-2.7 ×1
rpc ×1
simulator ×1
xml ×1
xpath ×1