Adjust test suite parser update to conform with API changes
[yangtools.git] / yang / yang-parser-rfc7950 / src / test / resources / grouping-test / uses-grouping.yang
1 module uses-grouping {
2     yang-version 1;
3     namespace "urn:opendaylight:params:xml:ns:yang:uses-grouping";
4     prefix "ug";
5
6     import grouping-definitions { prefix gd; revision-date 2013-09-04; }
7
8     organization "opendaylight";
9     contact "asdf";
10
11     revision "2013-07-30" {
12     }
13
14
15     grouping bandwidth-object {
16         uses gd:object-header;
17
18         container bandwidth {
19             uses gd:ieee754-32;
20         }
21     }
22
23     grouping endpoints-object {
24         uses gd:object;
25
26         choice address-family {
27             case ipv4 {
28                 leaf source-ipv4-address {
29                     type string;
30                     mandatory true;
31                 }
32             }
33             case ipv6 {
34                 leaf source-ipv6-address {
35                     type string;
36                     mandatory true;
37                 }
38             }
39         }
40     }
41
42     grouping lsp-attributes {
43         container bandwidth {
44             uses bandwidth-object;
45         }
46     }
47
48     grouping metric-object {
49         uses gd:object;
50         leaf metric-type {
51             type uint8;
52             mandatory true;
53         }
54     }
55
56     grouping path-key-object {
57         uses gd:object-header;
58
59         list path-keys {
60         }
61     }
62
63     grouping route-object {
64         uses gd:object-header;
65
66         list subobjects {
67         }
68     }
69
70     grouping svec-object {
71         uses gd:object-header;
72
73         leaf link-diverse {
74             type boolean;
75             default false;
76         }
77     }
78
79
80     notification pcreq {
81         uses gd:message-header;
82
83         list requests {
84             container rp {
85                 uses gd:rp-object;
86             }
87             container path-key-expansion {
88                 when "rp/path-key = true";
89                 container path-key {
90                     uses path-key-object {
91                         augment path-keys {
92                             uses gd:message-header;
93                         }
94                     }
95                 }
96             }
97             container segment-computation {
98                 when "rp/path-key = false";
99
100                 container p2p {
101                     when "../rp/p2mp = false";
102
103                     container endpoints {
104                         uses endpoints-object;
105                     }
106                     container reported-route {
107                         uses route-object;
108
109                         container bandwidth {
110                             uses bandwidth-object;
111                         }
112                     }
113
114                     uses lsp-attributes;
115                 }
116             }
117         }
118
119         list svec {
120             uses svec-object;
121             list metric {
122                 uses metric-object;
123             }
124         }
125     }
126
127 }