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; } } } } } }