diff options
Diffstat (limited to 'infra/data-impl/src/main/yang/data-impl.yang')
-rw-r--r-- | infra/data-impl/src/main/yang/data-impl.yang | 179 |
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 |