summaryrefslogtreecommitdiffstats
path: root/infra/data-impl/src/main/yang/data-impl.yang
diff options
context:
space:
mode:
authorMaros Marsalek <mmarsale@cisco.com>2016-07-27 11:05:51 +0200
committerMaros Marsalek <mmarsale@cisco.com>2016-07-29 16:32:07 +0200
commit0578156b721fa01c8c645b8f9625ecebdb6449e4 (patch)
tree49d36f24e5d984a8c9f151b1440de88619f8b7de /infra/data-impl/src/main/yang/data-impl.yang
parent007d4542388ca89be409ce1a4a4c7a36ddcb538f (diff)
HONEYCOMB-130: Separate v3po plugin from HC infra
Creating folders: - common/ - infra/ - v3po/ - vpp-common/ Change-Id: I2c39e1b17e39e7c0f0628f44aa5fe08563fa06e4 Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
Diffstat (limited to 'infra/data-impl/src/main/yang/data-impl.yang')
-rw-r--r--infra/data-impl/src/main/yang/data-impl.yang179
1 files changed, 179 insertions, 0 deletions
diff --git a/infra/data-impl/src/main/yang/data-impl.yang b/infra/data-impl/src/main/yang/data-impl.yang
new file mode 100644
index 000000000..ee485538b
--- /dev/null
+++ b/infra/data-impl/src/main/yang/data-impl.yang
@@ -0,0 +1,179 @@
+module data-impl {
+ yang-version 1;
+ namespace "urn:honeycomb:params:xml:ns:yang:data:impl";
+ prefix "tutils";
+
+ import config { prefix config; revision-date 2013-04-05; }
+ import opendaylight-md-sal-binding { prefix md-sal-binding; revision-date 2013-10-28;}
+ import opendaylight-md-sal-dom { prefix dom; revision-date 2013-10-28;}
+ import data-api { prefix dapi; revision-date 2016-04-11; }
+ import translate-api { prefix tapi; revision-date 2016-04-06; }
+
+ description
+ "This module contains YANG module definitions
+ for honeycomd data layer";
+
+ revision "2016-04-11" {
+ description
+ "Initial revision.";
+ }
+
+ identity inmemory-data-tree {
+ base config:module-type;
+ config:provided-service dapi:data-tree;
+ config:java-name-prefix InMemoryDataTree;
+ }
+
+ augment "/config:modules/config:module/config:configuration" {
+ case inmemory-data-tree {
+ when "/config:modules/config:module/config:type = 'inmemory-data-tree'";
+
+ container schema-service {
+ uses config:service-ref {
+ refine type {
+ mandatory true;
+ config:required-identity dom:schema-service;
+ }
+ }
+ }
+
+ leaf type {
+ type dapi:datatree-type;
+ mandatory true;
+ }
+ }
+ }
+
+ identity persisting-data-tree-adapter {
+ base config:module-type;
+ config:provided-service dapi:data-tree;
+ config:java-name-prefix PersistingDataTreeAdapter;
+ }
+
+ augment "/config:modules/config:module/config:configuration" {
+ case persisting-data-tree-adapter {
+ when "/config:modules/config:module/config:type = 'persisting-data-tree-adapter'";
+
+ container delegate {
+ uses config:service-ref {
+ refine type {
+ mandatory true;
+ config:required-identity dapi:data-tree;
+ }
+ }
+ }
+
+ container schema-service {
+ uses config:service-ref {
+ refine type {
+ mandatory true;
+ config:required-identity dom:schema-service;
+ }
+ }
+ }
+
+ leaf persist-file-path {
+ type string;
+ mandatory true;
+ description "Path to a file to be used as data storage";
+ }
+ }
+ }
+
+ identity honeycomb-config-data-tree {
+ base config:module-type;
+ config:provided-service dapi:honeycomb-modifiable-data-tree;
+ config:java-name-prefix ConfigDataTree;
+ }
+
+ augment "/config:modules/config:module/config:configuration" {
+ case honeycomb-config-data-tree {
+ when "/config:modules/config:module/config:type = 'honeycomb-config-data-tree'";
+
+ container data-tree {
+ uses config:service-ref {
+ refine type {
+ mandatory true;
+ config:required-identity dapi:data-tree;
+ }
+ }
+ }
+
+ container serializer {
+ uses config:service-ref {
+ refine type {
+ mandatory true;
+ config:required-identity md-sal-binding:binding-normalized-node-serializer;
+ }
+ }
+ }
+
+ container writer-registry-builder {
+ uses config:service-ref {
+ refine type {
+ mandatory true;
+ config:required-identity tapi:honeycomb-writer-registry-builder;
+ }
+ }
+ }
+
+ container context-binding-broker {
+ uses config:service-ref {
+ refine type {
+ mandatory true;
+ config:required-identity md-sal-binding:binding-async-data-broker;
+ }
+ }
+ }
+ }
+ }
+
+ identity honeycomb-operational-data-tree {
+ base config:module-type;
+ config:provided-service dapi:honeycomb-readable-data-tree;
+ config:java-name-prefix OperationalDataTree;
+ }
+
+ augment "/config:modules/config:module/config:configuration" {
+ case honeycomb-operational-data-tree {
+ when "/config:modules/config:module/config:type = 'honeycomb-operational-data-tree'";
+
+ container schema-service {
+ uses config:service-ref {
+ refine type {
+ mandatory true;
+ config:required-identity dom:schema-service;
+ }
+ }
+ }
+
+ container serializer {
+ uses config:service-ref {
+ refine type {
+ mandatory true;
+ config:required-identity md-sal-binding:binding-normalized-node-serializer;
+ }
+ }
+ }
+
+ container reader-registry-builder {
+ uses config:service-ref {
+ refine type {
+ mandatory true;
+ config:required-identity tapi:honeycomb-reader-registry-builder;
+ }
+ }
+ }
+
+ container context-binding-broker {
+ uses config:service-ref {
+ refine type {
+ mandatory true;
+ config:required-identity md-sal-binding:binding-async-data-broker;
+ }
+ }
+ }
+
+ }
+ }
+} \ No newline at end of file