Merge "BUG-467: reconnect-strategy configuration moved into controller/commons/protoc...
[controller.git] / opendaylight / md-sal / sal-dom-broker / src / main / yang / opendaylight-dom-broker-impl.yang
1 module opendaylight-sal-dom-broker-impl {
2         yang-version 1;
3     namespace "urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom:impl";
4     prefix "binding-impl";
5
6         import config { prefix config; revision-date 2013-04-05; }
7         import opendaylight-md-sal-dom {prefix sal;}
8         import opendaylight-md-sal-common {prefix common;}
9
10     description
11         "Service definition for Binding Aware MD-SAL.";
12  
13     revision "2013-10-28" {
14         description
15             "Initial revision";
16     }
17
18     identity dom-broker-impl {
19         base config:module-type;
20         config:provided-service sal:dom-broker-osgi-registry;
21         config:java-name-prefix DomBrokerImpl;
22     }    
23     
24     
25     identity dom-inmemory-data-broker {
26         base config:module-type;
27         config:provided-service sal:dom-async-data-broker;
28     }
29     
30     identity hash-map-data-store {
31         base config:module-type;
32         config:provided-service sal:dom-data-store;
33         config:java-name-prefix HashMapDataStore;
34     }
35     
36     identity schema-service-singleton {
37         base config:module-type;
38         config:provided-service sal:schema-service;
39         config:java-name-prefix SchemaServiceImplSingleton;
40     }
41
42     augment "/config:modules/config:module/config:configuration" {
43         case dom-broker-impl {
44             when "/config:modules/config:module/config:type = 'dom-broker-impl'";
45             container data-store {
46                 uses config:service-ref {
47                     refine type {
48                         mandatory false;
49                         config:required-identity sal:dom-data-store;
50                     }
51                 }
52             }
53             
54             container async-data-broker {
55                 uses config:service-ref {
56                     refine type {
57                         mandatory false;
58                         config:required-identity sal:dom-async-data-broker;
59                     }
60                 }
61             
62             }
63         }
64     }
65     
66     augment "/config:modules/config:module/config:configuration" {
67         case dom-inmemory-data-broker {
68             when "/config:modules/config:module/config:type = 'dom-inmemory-data-broker'";
69             
70             container schema-service {
71                 uses config:service-ref {
72                     refine type {
73                         mandatory false;
74                         config:required-identity sal:schema-service;
75                     }
76                 }
77             
78             }
79         }
80     }
81     
82     augment "/config:modules/config:module/config:state" {
83         case hash-map-data-store {
84             when "/config:modules/config:module/config:type = 'hash-map-data-store'";
85         }
86     }
87     
88     augment "/config:modules/config:module/config:state" {
89         case schema-service-singleton {
90             when "/config:modules/config:module/config:type = 'schema-service-singleton'";
91         }
92     }
93     
94     augment "/config:modules/config:module/config:state" {
95         case dom-broker-impl {
96             when "/config:modules/config:module/config:type = 'dom-broker-impl'";
97             container data {
98                 uses common:data-state;
99             } 
100         }
101     }
102 }