summaryrefslogtreecommitdiffstats
path: root/infra/data-impl/src/main/yang/data-impl.yang
diff options
context:
space:
mode:
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