Initial commit for OpenECOMP SDN-C northbound
[sdnc/northbound.git] / asdcApi / provider / src / main / yang / asdcApi-provider-impl.yang
diff --git a/asdcApi/provider/src/main/yang/asdcApi-provider-impl.yang b/asdcApi/provider/src/main/yang/asdcApi-provider-impl.yang
new file mode 100755 (executable)
index 0000000..94ee883
--- /dev/null
@@ -0,0 +1,61 @@
+module asdcApi-provider-impl {
+
+    yang-version 1;
+    namespace "org:openecomp:sdnc:asdcapi:provider:impl";
+    prefix "asdcApi-provider-impl";
+
+    import config { prefix config; revision-date 2013-04-05; }
+    import opendaylight-md-sal-binding { prefix mdsal; revision-date 2013-10-28; }
+
+     description
+        "This module contains the base YANG definitions for
+        asdcApi-provider impl implementation.";
+
+    revision "2014-05-23" {
+        description
+            "Initial revision.";
+    }
+
+    // This is the definition of the service implementation as a module identity.
+    identity asdcApi-provider-impl {
+            base config:module-type;
+
+            // Specifies the prefix for generated java classes.
+            config:java-name-prefix AsdcApiProvider;
+    }
+
+    // Augments the 'configuration' choice node under modules/module.
+    // We consume the three main services, RPCs, DataStore, and Notifications
+    augment "/config:modules/config:module/config:configuration" {
+        case asdcApi-provider-impl {
+            when "/config:modules/config:module/config:type = 'asdcApi-provider-impl'";
+
+            container rpc-registry {
+                uses config:service-ref {
+                    refine type {
+                        mandatory true;
+                        config:required-identity mdsal:binding-rpc-registry;
+                    }
+                }
+            }
+
+            container notification-service {
+                uses config:service-ref {
+                    refine type {
+                        mandatory true;
+                        config:required-identity mdsal:binding-notification-service;
+                    }
+                }
+            }
+
+            container data-broker {
+                uses config:service-ref {
+                    refine type {
+                        mandatory false;
+                        config:required-identity mdsal:binding-async-data-broker;
+                    }
+                }
+            }
+        }
+    }
+}