82897b0198cbf183953f2051f87c8fcfe9f030a8
[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         import opendaylight-config-dom-datastore {prefix config-dom-store-spi;}
10         import opendaylight-operational-dom-datastore {prefix operational-dom-store-spi;}
11
12     description
13         "Service definition for Binding Aware MD-SAL.
14         Note: The dom-inmemory-data-broker utilizes configurable config-dom-datastore
15         and operation-dom-datastore. If configuration is not done for this stores
16         then it defaults to InMemoryDOMDataStore";
17  
18     revision "2013-10-28" {
19         description
20             "Initial revision";
21     }
22
23     identity dom-broker-impl {
24         base config:module-type;
25         config:provided-service sal:dom-broker-osgi-registry;
26         config:java-name-prefix DomBrokerImpl;
27     }    
28     
29     
30     identity dom-inmemory-data-broker {
31         base config:module-type;
32         config:provided-service sal:dom-async-data-broker;
33     }
34     
35     identity hash-map-data-store {
36         base config:module-type;
37         config:provided-service sal:dom-data-store;
38         config:java-name-prefix HashMapDataStore;
39     }
40     
41     identity schema-service-singleton {
42         base config:module-type;
43         config:provided-service sal:schema-service;
44         config:java-name-prefix SchemaServiceImplSingleton;
45     }
46
47     augment "/config:modules/config:module/config:configuration" {
48         case dom-broker-impl {
49             when "/config:modules/config:module/config:type = 'dom-broker-impl'";
50             container data-store {
51                 uses config:service-ref {
52                     refine type {
53                         mandatory false;
54                         config:required-identity sal:dom-data-store;
55                     }
56                 }
57             }
58             
59             container async-data-broker {
60                 uses config:service-ref {
61                     refine type {
62                         mandatory false;
63                         config:required-identity sal:dom-async-data-broker;
64                     }
65                 }
66             
67             }
68         }
69     }
70     
71     augment "/config:modules/config:module/config:configuration" {
72         case dom-inmemory-data-broker {
73             when "/config:modules/config:module/config:type = 'dom-inmemory-data-broker'";
74
75
76             container schema-service {
77                 uses config:service-ref {
78                     refine type {
79                         mandatory false;
80                         config:required-identity sal:schema-service;
81                     }
82                 }
83
84             }
85
86             container config-data-store{
87                  uses config:service-ref {
88                      refine type {
89                          mandatory false;
90                          config:required-identity  config-dom-store-spi:config-dom-datastore;
91                      }
92                  }
93             }
94
95             container operational-data-store{
96                   uses config:service-ref {
97                        refine type {
98                            mandatory false;
99                            config:required-identity operational-dom-store-spi:operational-dom-datastore;
100                        }
101                    }
102             }
103         }
104     }
105     
106     augment "/config:modules/config:module/config:state" {
107         case hash-map-data-store {
108             when "/config:modules/config:module/config:type = 'hash-map-data-store'";
109         }
110     }
111     
112     augment "/config:modules/config:module/config:state" {
113         case schema-service-singleton {
114             when "/config:modules/config:module/config:type = 'schema-service-singleton'";
115         }
116     }
117     
118     augment "/config:modules/config:module/config:state" {
119         case dom-broker-impl {
120             when "/config:modules/config:module/config:type = 'dom-broker-impl'";
121             container data {
122                 uses common:data-state;
123             } 
124         }
125     }
126 }

©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.