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 文档来定义 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 模型,以便在输出中发布上述数据。