Opendaylight(Beryllium)是否支持YANG RPC数据建模类型,如anyxml / anydata?
我参与开发了一个Opendaylight Controller App,我必须在其中发布动态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"
} ]
请建议我将杨模型的上述数据发布在输出中。
答案 0 :(得分:0)
因为你已经放了" anyxml service_element"作为" list discoveryList"的输出类型,因此您不能指望它作为任何类/接口生成。
您可以将输出修改为:
output {
anyxml service_element {
description: .........
}
}