0

Opendaylight(Berylium) は anyxml/anydata のような YANG RPC データ モデリング タイプをサポートしていますか?

私は、RPC (NorthBound API) の一部として動的な JSON データを公開する必要がある Opendaylight コントローラー アプリの開発に携わってきました。

ここに私の YANG RPC 定義があります:

rpc service_discovery{
    input {
        leaf service_account_id{
            type string;
        }
        leaf action{
            type string;
        }
    }
    output {
        list discoveryList{
            anyxml service_element;
        }
    }
}

anyxml/anydata タイプの定義については、このYANG IETF ドキュメントを参照してください。

この 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 モデルを提案してください。

4

1 に答える 1

0

「list discoveryList」の出力タイプとして「anyxml service_element」を指定したため、任意のクラス/インターフェースとして生成されることは期待できません。

出力を次のように変更できます。

output {
    anyxml service_element {
        description: .........
    }
}
于 2016-04-21T12:24:26.147 に答える