Merge "sal role service and role injection"
[openflowplugin.git] / openflowplugin-impl / src / main / yang / openflow-plugin-impl.yang
1 module openflow-plugin-provider-impl {
2         yang-version 1;
3     namespace "urn:opendaylight:params:xml:ns:yang:config:openflow:plugin:impl";
4     prefix "openflow-plugin-provider-impl";
5
6     import config {prefix config; revision-date 2013-04-05;}
7     import rpc-context { prefix rpcx; revision-date 2013-06-17; }
8     import openflow-provider {prefix openflow-provider; revision-date 2015-03-31;}
9     import openflow-switch-connection-provider {prefix openflow-switch-connection-provider;revision-date 2014-03-28;}
10     import opendaylight-md-sal-binding { prefix md-sal-binding; revision-date 2013-10-28;}
11     import opendaylight-sal-binding-broker-impl { prefix sal-broker; revision-date 2013-10-28;}
12     import openflowplugin-extension-registry {prefix ofp-ext-reg; revision-date 2015-04-25;}
13
14     description
15         "openflow-plugin-impl";
16
17     revision "2015-03-27" {
18         description
19             "Second openflow plugin implementation.";
20     }
21
22     identity openflow-plugin-provider-impl {
23         base config:module-type;
24         config:provided-service openflow-provider:openflow-provider;
25         config:provided-service ofp-ext-reg:openflow-extension-registry-provider;
26         config:java-name-prefix OpenFlowProvider;
27     }
28
29     augment "/config:modules/config:module/config:configuration" {
30         case openflow-plugin-provider-impl {
31             when "/config:modules/config:module/config:type = 'openflow-plugin-provider-impl'";
32
33             container data-broker {
34                 uses config:service-ref {
35                     refine type {
36                         mandatory true;
37                         config:required-identity md-sal-binding:binding-async-data-broker;
38                     }
39                 }
40             }
41             container rpc-registry {
42                 uses config:service-ref {
43                     refine type {
44                         mandatory true;
45                         config:required-identity md-sal-binding:binding-rpc-registry;
46                     }
47                 }
48             }
49             container notification-adapter {
50                 uses config:service-ref {
51                     refine type {
52                         mandatory true;
53                         config:required-identity sal-broker:binding-new-notification-service;
54                     }
55                 }
56             }
57             container notification-publish-adapter {
58                 uses config:service-ref {
59                     refine type {
60                         mandatory true;
61                         config:required-identity sal-broker:binding-new-notification-publish-service;
62                     }
63                 }
64             }
65             list openflow-switch-connection-provider {
66                 uses config:service-ref {
67                     refine type {
68                         mandatory true;
69                         config:required-identity openflow-switch-connection-provider:openflow-switch-connection-provider;
70                     }
71                 }
72             }
73             leaf rpc-requests-quota {
74                 type uint32;
75                 default 500;
76             }
77             leaf switch-features-mandatory {
78                 type boolean;
79                 default false;
80             }
81             leaf global-notification-quota {
82                 type uint32;
83                 default 131072;
84             }
85             leaf is-statistics-polling-off {
86                 type boolean;
87                 default "false";
88             }
89         }
90
91     }
92 }