Merge "BUG 932 - Swagger HTTP POST contains incorrect object"
[controller.git] / opendaylight / md-sal / sal-inmemory-datastore / src / main / yang / opendaylight-inmemory-datastore-provider.yang
1
2 module opendaylight-inmemory-datastore-provider {
3
4     yang-version 1;
5     namespace "urn:opendaylight:params:xml:ns:yang:controller:inmemory-datastore-provider";
6     prefix "inmemory-datastore-provider";
7
8     import config { prefix config; revision-date 2013-04-05; }
9     import rpc-context { prefix rpcx; revision-date 2013-06-17; }
10         import opendaylight-config-dom-datastore {prefix config-dom-store-spi;}
11         import opendaylight-operational-dom-datastore {prefix operational-dom-store-spi;}
12     import opendaylight-md-sal-dom {prefix sal;}
13
14     description
15         "InMemory datastore provider implementation for config & operational datastore";
16
17     revision "2014-06-17" {
18         description
19         "Initial revision.";
20     }
21
22     // This is the definition of the service implementation as a module identity.
23     identity inmemory-config-datastore-provider {
24             base config:module-type;
25             config:provided-service config-dom-store-spi:config-dom-datastore;
26             config:java-name-prefix InMemoryConfigDataStoreProvider;
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       }
36
37
38     // Augments the 'configuration' choice node under modules/module.
39     augment "/config:modules/config:module/config:configuration" {
40         case inmemory-config-datastore-provider {
41             when "/config:modules/config:module/config:type = 'inmemory-config-datastore-provider'";
42
43             container schema-service {
44                 uses config:service-ref {
45                    refine type {
46                           mandatory false;
47                           config:required-identity sal:schema-service;
48                     }
49                 }
50             }
51
52             leaf max-data-change-executor-queue-size {
53                 default 1000;
54                 type uint16;
55                 description "The maximum queue size for the data change notification executor.";
56             }
57
58             leaf max-data-change-executor-pool-size {
59                 default 20;
60                 type uint16;
61                 description "The maximum thread pool size for the data change notification executor.";
62             }
63
64             leaf max-data-change-listener-queue-size {
65                 default 1000;
66                 type uint16;
67                 description "The maximum queue size for the data change listeners.";
68             }
69         }
70     }
71
72     // Augments the 'configuration' choice node under modules/module.
73     augment "/config:modules/config:module/config:configuration" {
74         case inmemory-operational-datastore-provider {
75             when "/config:modules/config:module/config:type = 'inmemory-operational-datastore-provider'";
76
77             // Yang does not allow two cases from same namespaces with same children
78             // Schema-service dependency renamed to operational-schema-service
79             // to prevent conflict with schema-service container from inmemory-config-datastore-provider
80             container operational-schema-service {
81                 uses config:service-ref {
82                     refine type {
83                         mandatory false;
84                         config:required-identity sal:schema-service;
85                     }
86                 }
87             }
88
89             leaf max-data-change-executor-queue-size {
90                 default 1000;
91                 type uint16;
92                 description "The maximum queue size for the data change notification executor.";
93             }
94
95             leaf max-data-change-executor-pool-size {
96                 default 20;
97                 type uint16;
98                 description "The maximum thread pool size for the data change notification executor.";
99             }
100
101             leaf max-data-change-listener-queue-size {
102                 default 1000;
103                 type uint16;
104                 description "The maximum queue size for the data change listeners.";
105             }
106         }
107     }
108 }