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 data-tree { base "config:service-type"; config:java-class org.opendaylight.yangtools.yang.data.api.schema.tree.DataTree; } identity inmemory-config-data-tree { base config:module-type; config:provided-service data-tree; config:java-name-prefix InMemoryConfigDataTree; } augment "/config:modules/config:module/config:configuration" { case inmemory-config-data-tree { when "/config:modules/config:module/config:type = 'inmemory-config-data-tree'"; container schema-service { uses config:service-ref { refine type { mandatory true; config:required-identity dom:schema-service; } } } } } identity persisting-data-tree-adapter { base config:module-type; config:provided-service 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 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; } } } 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 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 { uses config:service-ref { refine type { mandatory true; config:required-identity tapi:honeycomb-writer-registry; } } } } } 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 { uses config:service-ref { refine type { mandatory true; config:required-identity tapi:honeycomb-reader-registry; } } } // FIXME workaround for: https://git.opendaylight.org/gerrit/#/c/37499/ container netconf-monitoring-dom-data-broker { uses config:service-ref { refine type { mandatory true; config:required-identity dom:dom-async-data-broker; } } } } } }