summaryrefslogtreecommitdiffstats
path: root/infra/impl/src/main/yang/honeycomb-impl.yang
diff options
context:
space:
mode:
Diffstat (limited to 'infra/impl/src/main/yang/honeycomb-impl.yang')
-rw-r--r--infra/impl/src/main/yang/honeycomb-impl.yang155
1 files changed, 155 insertions, 0 deletions
diff --git a/infra/impl/src/main/yang/honeycomb-impl.yang b/infra/impl/src/main/yang/honeycomb-impl.yang
new file mode 100644
index 000000000..46f1af862
--- /dev/null
+++ b/infra/impl/src/main/yang/honeycomb-impl.yang
@@ -0,0 +1,155 @@
+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;
+ }
+ }
+ }
+
+ }
+ }
+}