f00623e02eb5dc949bc73123394c6f40260317ca
[controller.git] / opendaylight / config / yang-jmx-generator / src / test / resources / config-jmx-it-impl.yang
1 module config-jmx-it-impl {
2     yang-version 1;
3     namespace "urn:opendaylight:params:xml:ns:yang:controller:config:jmx:generator:it:impl";
4     prefix "it-impl";
5
6     import config-jmx-it { prefix jmxIt; revision-date 2013-06-13;}
7     import config { prefix config; revision-date 2013-04-05; }
8     import ietf-inet-types { prefix inet; revision-date 2010-09-24;}
9     import config-threads { prefix th; revision-date 2013-04-09; }
10
11     description
12         "Testing IMPL";
13
14     revision "2013-04-03" {
15         description
16             "Initial revision";
17     }
18
19     identity impl {
20         base config:module-type;
21         config:provided-service jmxIt:testing;
22         config:java-name-prefix TestImpl;
23     }
24
25     identity impl-netconf {
26         base config:module-type;
27         config:provided-service jmxIt:testing;
28         config:java-name-prefix NetconfTestImpl;
29     }
30
31     augment "/config:modules/config:module/config:configuration" {
32         case impl {
33             when "/config:modules/config:module/config:type = 'impl'";
34
35            container dto-a1 {
36                 leaf simple-arg {
37                     type uint32;
38                 }
39
40                 leaf port {
41                     type inet:port-number;
42                 }
43
44             }
45
46             leaf as-number {
47                 mandatory true;
48                 type inet:as-number;
49             }
50
51
52             leaf simpleInt1 {
53                 type uint32;
54                 default 99L;
55             }
56
57             container dto_b {
58                 leaf simple-int1 {
59                     type uint32;
60                 }
61
62                 leaf simple-int2 {
63                     type uint32;
64                 }
65             }
66
67         }
68
69         case impl-netconf {
70             when "/config:modules/config:module/config:type = 'impl-netconf'";
71
72            container dto-a {
73                 leaf simple-arg {
74                     type uint32;
75                 }
76
77                 container dto-a-inner {
78                     leaf simple-arg {
79                         type uint32;
80                     }
81
82                     container dto-a-inner-inner {
83                         leaf simple-arg {
84                             type uint32;
85                         }
86                     }
87                 }
88             }
89
90             leaf simpleInt2 {
91                 type uint32;
92             }
93
94             leaf simpleBoolean {
95                 type boolean;
96                 default false;
97             }
98
99             leaf simple-long {
100                 type int64  ;
101             }
102
103             leaf simple-long-2 {
104                 type uint32;
105             }
106
107             leaf simple-BigInteger {
108                 type uint64;
109             }
110
111             leaf simple-byte {
112                 type int8;
113             }
114
115             leaf simple-short {
116                 type uint8;
117             }
118
119             leaf simple-test {
120                 type uint16;
121                 default 99;
122             }
123
124             leaf-list simple-list {
125                 type uint16;
126             }
127
128             container dto_c {
129                 leaf simple-int1 {
130                     type uint32;
131                 }
132
133                 leaf simple-int2 {
134                     type uint32;
135                 }
136
137                 leaf simple-int3 {
138                     type uint16;
139                 }
140
141                 leaf-list simple-list {
142                     type uint16;
143                 }
144
145                 list complex-dto-bInner {
146                     leaf-list simple-list {
147                         type uint16;
148                     }
149                     leaf simple-int3 {
150                         type uint16;
151                     }
152
153                     container deep {
154                         leaf simple-int3 {
155                             type uint16;
156                         }
157                     }
158                 }
159             }
160
161             list complex-list {
162                 list simple-list {
163                     leaf simple-int3 {
164                         type uint16;
165                     }
166                 }
167             }
168
169             list peers {
170                     config:java-name-prefix Peer;
171                     leaf port {
172                         type string;
173                     }
174                     leaf core-size {
175                         type uint32;
176                     }
177                     leaf simple-int3 {
178                         type uint16;
179                     }
180             }
181
182             container thread-factory {
183                 uses config:service-ref {
184                     refine type {
185                         mandatory false;
186                         config:required-identity th:threadfactory;
187                     }
188                     refine name {
189                         mandatory false;
190                     }
191                 }
192             }
193         }
194     }
195
196     augment "/config:modules/config:module/config:state" {
197         case impl {
198             when "/config:modules/config:module/config:type = 'impl'";
199             // root runtime bean
200             leaf created-sessions {
201                 type uint32;
202             }
203         }
204
205         case impl-netconf {
206             when "/config:modules/config:module/config:type = 'impl-netconf'";
207             // root runtime bean
208             leaf created-sessions-1 {
209                 type uint32;
210             }
211
212             leaf created-sessions-2 {
213                 type uint32;
214             }
215
216         }
217     }
218
219 }