module honeycomb-impl { yang-version 1; namespace "urn:opendaylight:params:xml:ns:yang:honeycomb:impl"; prefix "hc-impl"; 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;} import translate-api { prefix tapi; revision-date 2016-04-06; } import data-api { prefix dapi; revision-date 2016-04-11; } import notification-api { prefix hc-notif-a; revision-date 2016-06-01; } description "Service definition for honeycomb project"; revision "2014-12-10" { description "Initial revision"; } identity honeycomb { base config:module-type; config:provided-service dom:dom-broker-osgi-registry; config:java-name-prefix Honeycomb; } augment "/config:modules/config:module/config:configuration" { case honeycomb { when "/config:modules/config:module/config:type = 'honeycomb'"; container dom-broker { uses config:service-ref { refine type { mandatory true; config:required-identity dom:dom-broker-osgi-registry; } } } container honeycomb-dom-data-broker { uses config:service-ref { refine type { mandatory true; config:required-identity dom:dom-async-data-broker; } } } container honeycomb-dom-notification-service { uses config:service-ref { refine type { mandatory true; config:required-identity hc-notif-a:dom-notification-service; } } } } } identity binding-broker-netconf { base config:module-type; config:provided-service md-sal-binding:binding-broker-osgi-registry; config:java-name-prefix NetconfBindingBroker; } augment "/config:modules/config:module/config:configuration" { case binding-broker-netconf { when "/config:modules/config:module/config:type = 'binding-broker-netconf'"; container netconf-binding-broker { uses config:service-ref { refine type { mandatory true; config:required-identity md-sal-binding:binding-async-data-broker; } } } } } identity honeycomb-dom-data-broker { base config:module-type; config:provided-service dom:dom-async-data-broker; config:java-name-prefix DataBroker; } augment "/config:modules/config:module/config:configuration" { case honeycomb-dom-data-broker { when "/config:modules/config:module/config:type = 'honeycomb-dom-data-broker'"; container config-data-tree { uses config:service-ref { refine type { mandatory true; config:required-identity dapi:honeycomb-modifiable-data-tree; } } } container operational-data-tree { uses config:service-ref { refine type { mandatory true; config:required-identity dapi:honeycomb-readable-data-tree; } } } } } identity honeycomb-context-dom-data-broker { base config:module-type; config:provided-service dom:dom-async-data-broker; config:java-name-prefix ContextDataBroker; description "DomBroker on top of context data-tree"; } augment "/config:modules/config:module/config:configuration" { case honeycomb-context-dom-data-broker { when "/config:modules/config:module/config:type = 'honeycomb-context-dom-data-broker'"; container context-data-tree { uses config:service-ref { refine type { mandatory true; config:required-identity dapi:data-tree; } } } } } identity netconf-monitoring-reader { base config:module-type; config:provided-service tapi:honeycomb-reader-factory; } augment "/config:modules/config:module/config:configuration" { case netconf-monitoring-reader { when "/config:modules/config:module/config:type = 'netconf-monitoring-reader'"; container netconf-monitoring-binding-broker { uses config:service-ref { refine type { mandatory true; config:required-identity md-sal-binding:binding-async-data-broker; } } } } } }