fe6ee3234c31ec3e869a9344978a954c79451b6f
[controller.git] / opendaylight / md-sal / sal-inmemory-datastore / src / main / yang / opendaylight-inmemory-datastore-provider.yang
1 module opendaylight-inmemory-datastore-provider {
2
3     yang-version 1;
4     namespace "urn:opendaylight:params:xml:ns:yang:controller:inmemory-datastore-provider";
5     prefix "inmemory-datastore-provider";
6
7     import config { prefix config; revision-date 2013-04-05; }
8     import rpc-context { prefix rpcx; revision-date 2013-06-17; }
9     import opendaylight-config-dom-datastore {prefix config-dom-store-spi;}
10     import opendaylight-operational-dom-datastore {prefix operational-dom-store-spi;}
11     import opendaylight-md-sal-dom {prefix sal;}
12
13     description
14         "InMemory datastore provider implementation for config & operational datastore";
15
16     revision "2014-06-17" {
17         description
18         "Initial revision.";
19     }
20
21     // This is the definition of the service implementation as a module identity.
22     identity inmemory-config-datastore-provider {
23             base config:module-type;
24             config:provided-service config-dom-store-spi:config-dom-datastore;
25             config:java-name-prefix InMemoryConfigDataStoreProvider;
26             status deprecated;
27     }
28
29         // This is the definition of the service implementation as a module identity.
30
31     identity inmemory-operational-datastore-provider {
32             base config:module-type;
33             config:provided-service operational-dom-store-spi:operational-dom-datastore;
34             config:java-name-prefix InMemoryOperationalDataStoreProvider;
35             status deprecated;
36     }
37
38     grouping datastore-configuration {
39             leaf max-data-change-executor-queue-size {
40                 default 1000;
41                 type uint16;
42                 description "The maximum queue size for the data change notification executor.";
43             }
44
45             leaf max-data-change-executor-pool-size {
46                 default 20;
47                 type uint16;
48                 description "The maximum thread pool size for the data change notification executor.";
49             }
50
51             leaf max-data-change-listener-queue-size {
52                 default 1000;
53                 type uint16;
54                 description "The maximum queue size for the data change listeners.";
55             }
56             leaf max-data-store-executor-queue-size {
57                 default 5000;
58                 type uint16;
59                 description "The maximum queue size for the data store executor.";
60             }
61             leaf debug-transactions {
62                 type boolean;
63                 default false;
64                 description "Enable transaction lifecycle debugging.";
65             }
66     }
67
68     // Augments the 'configuration' choice node under modules/module.
69     augment "/config:modules/config:module/config:configuration" {
70         case inmemory-config-datastore-provider {
71             when "/config:modules/config:module/config:type = 'inmemory-config-datastore-provider'";
72
73             container inmemory-config-datastore-provider {
74                 container schema-service {
75                     uses config:service-ref {
76                         refine type {
77                             mandatory false;
78                             config:required-identity sal:schema-service;
79                         }
80                     }
81                 }
82                 uses datastore-configuration;
83             }
84         }
85     }
86
87     // Augments the 'configuration' choice node under modules/module.
88     augment "/config:modules/config:module/config:configuration" {
89         case inmemory-operational-datastore-provider {
90             when "/config:modules/config:module/config:type = 'inmemory-operational-datastore-provider'";
91
92             container inmemory-operational-datastore-provider {
93                 container schema-service {
94                     uses config:service-ref {
95                         refine type {
96                             mandatory false;
97                             config:required-identity sal:schema-service;
98                         }
99                     }
100                 }
101                 uses datastore-configuration;
102             }
103         }
104     }
105 }

©2013 OpenDaylight, A Linux Foundation Collaborative Project. All Rights Reserved.
OpenDaylight is a registered trademark of The OpenDaylight Project, Inc.
Linux Foundation and OpenDaylight are registered trademarks of the Linux Foundation.
Linux is a registered trademark of Linus Torvalds.