【发布时间】:2016-04-22 13:28:42
【问题描述】:
Opendaylight(Beryllium) 是否支持 YANG RPC 数据建模类型,如 anyxml/anydata ?
我一直参与开发 Opendaylight 控制器应用程序,我必须在其中发布动态 JSON 数据作为 RPC(NorthBound API)的一部分。
这是我的 YANG RPC 定义:
rpc service_discovery{
input {
leaf service_account_id{
type string;
}
leaf action{
type string;
}
}
output {
list discoveryList{
anyxml service_element;
}
}
}
参考这个YANG IETF documentation 来定义anyxml/anydata 类型
当我构建这个 YANG 时,我看不到针对 anyxml 类型生成的 JAVA 接口/类,并且不确定如何执行与此类型对应的 JAVA 实现。这阻止了我发布从 SouthBound API 收到的动态 JSON。
这是我想在输出中发布的示例数据。这里的困难在于,JSON 属性是动态的,因此无法在 YANG 中静态定义它们。所以我选择了anyxml类型。
[ {
"id_1": "123245",
"name_1": "test1",
"deployment_1": "prod",
"type_1": "cloud"
},
{
"id_2": "33455",
"name_2": "Test2",
"deployment_2": "QA",
"type_2": "container"
} ]
请向我推荐 YANG 模型,以便在输出中发布上述数据。
【问题讨论】:
标签: sdn opendaylight ietf-netmod-yang