Having InMemoryDOMDatastore in its own bundle.To make it configurable
[controller.git] / opendaylight / md-sal / sal-inmemory-datastore / src / main / yang / opendaylight-inmemory-datastore-provider.yang
diff --git a/opendaylight/md-sal/sal-inmemory-datastore/src/main/yang/opendaylight-inmemory-datastore-provider.yang b/opendaylight/md-sal/sal-inmemory-datastore/src/main/yang/opendaylight-inmemory-datastore-provider.yang
new file mode 100644 (file)
index 0000000..03220a3
--- /dev/null
@@ -0,0 +1,71 @@
+
+module opendaylight-inmemory-datastore-provider {
+
+    yang-version 1;
+    namespace "urn:opendaylight:params:xml:ns:yang:controller:inmemory-datastore-provider";
+    prefix "inmemory-datastore-provider";
+
+    import config { prefix config; revision-date 2013-04-05; }
+    import rpc-context { prefix rpcx; revision-date 2013-06-17; }
+       import opendaylight-config-dom-datastore {prefix config-dom-store-spi;}
+       import opendaylight-operational-dom-datastore {prefix operational-dom-store-spi;}
+    import opendaylight-md-sal-dom {prefix sal;}
+
+    description
+        "InMemory datastore provider implementation for config & operational datastore";
+
+    revision "2014-06-17" {
+        description
+        "Initial revision.";
+    }
+
+    // This is the definition of the service implementation as a module identity.
+    identity inmemory-config-datastore-provider {
+            base config:module-type;
+            config:provided-service config-dom-store-spi:config-dom-datastore;
+            config:java-name-prefix InMemoryConfigDataStoreProvider;
+    }
+
+        // This is the definition of the service implementation as a module identity.
+
+     identity inmemory-operational-datastore-provider {
+             base config:module-type;
+             config:provided-service operational-dom-store-spi:operational-dom-datastore;
+             config:java-name-prefix InMemoryOperationalDataStoreProvider;
+      }
+
+
+    // Augments the 'configuration' choice node under modules/module.
+    augment "/config:modules/config:module/config:configuration" {
+        case inmemory-config-datastore-provider {
+            when "/config:modules/config:module/config:type = 'inmemory-config-datastore-provider'";
+
+            container schema-service {
+              uses config:service-ref {
+                   refine type {
+                          mandatory false;
+                          config:required-identity sal:schema-service;
+                    }
+              }
+            }
+        }
+    }
+
+
+
+      // Augments the 'configuration' choice node under modules/module.
+        augment "/config:modules/config:module/config:configuration" {
+            case inmemory-operational-datastore-provider {
+                when "/config:modules/config:module/config:type = 'inmemory-operational-datastore-provider'";
+
+                container schema-service {
+                  uses config:service-ref {
+                       refine type {
+                              mandatory false;
+                              config:required-identity sal:schema-service;
+                        }
+                  }
+                }
+            }
+        }
+}