ee3bc86fd66061c0562ef68137d28939fbc0e750
[openflowplugin.git] / model / model-flow-statistics / src / main / yang / opendaylight-group-statistics.yang
1 module opendaylight-group-statistics {
2     namespace "urn:opendaylight:group:statistics";
3     prefix groupstat;
4
5     import yang-ext {prefix ext; revision-date "2013-07-09";}
6     import opendaylight-inventory {prefix inv;revision-date "2013-08-19";}
7     import opendaylight-group-types {prefix group-types;revision-date "2013-10-18";}
8     import flow-capable-transaction {prefix tr; revision-date "2015-03-04";}
9     import flow-node-inventory {prefix fni; revision-date "2013-08-19";}
10     import opendaylight-multipart-types { prefix multipart; revision-date "2017-01-12"; }
11
12     description "Openflow group statistics structures.";
13
14     contact
15         "Anilkumar Vishnoi
16         Email: avishnoi@in.ibm.com";
17
18     revision "2013-11-11" {
19         description "Initial revision of group statistics service";
20     }
21
22     grouping group-statistics {
23         description "TODO:: simplify";
24         container group-statistics {
25             uses group-types:group-statistics;
26         }
27     }
28
29     augment "/inv:nodes/inv:node/fni:group" {
30         description "Openflow group statistics into group node.";
31         ext:augment-identifier "node-group-statistics";
32         uses group-statistics;
33     }
34
35     grouping group-desc {
36         description "TODO:: simplify";
37         container group-desc {
38             uses group-types:group;
39         }
40     }
41
42     augment "/inv:nodes/inv:node/fni:group" {
43         description "Openflow group description into group node.";
44         ext:augment-identifier "node-group-desc-stats";
45         uses group-desc;
46     }
47
48     grouping group-features {
49         description "TODO:: simplify";
50         container group-features {
51             uses group-types:group-features-reply;
52         }
53     }
54
55     augment "/inv:nodes/inv:node" {
56         description "Openflow group features into group node.";
57         ext:augment-identifier "node-group-features";
58         uses group-features;
59     }
60
61     // RPC calls
62     rpc get-all-group-statistics {
63         status deprecated;
64         input {
65             uses inv:node-context-ref;
66         }
67         output {
68             uses group-types:group-statistics-reply;
69             uses tr:transaction-aware;
70         }
71     }
72
73     rpc get-group-statistics {
74         status deprecated;
75         input {
76             uses inv:node-context-ref;
77             leaf group-id{
78                 type group-types:group-id;
79             }
80         }
81         output {
82             uses group-types:group-statistics-reply;
83             uses tr:transaction-aware;
84         }
85     }
86
87     rpc get-group-description {
88         status deprecated;
89         input {
90             uses inv:node-context-ref;
91         }
92         output {
93             uses group-types:group-desc-stats-reply;
94             uses tr:transaction-aware;
95         }
96     }
97
98     rpc get-group-features {
99         status deprecated;
100         input {
101             uses inv:node-context-ref;
102         }
103         output {
104             uses group-types:group-features-reply;
105             uses tr:transaction-aware;
106         }
107     }
108
109
110     //Notification calls
111
112     notification group-statistics-updated {
113         status deprecated;
114
115         uses inv:node;
116         uses group-types:group-statistics-reply;
117         uses tr:multipart-transaction-aware;
118     }
119
120     notification group-desc-stats-updated {
121         status deprecated;
122
123         uses inv:node;
124         uses group-types:group-desc-stats-reply;
125         uses tr:multipart-transaction-aware;
126     }
127
128     notification group-features-updated {
129         status deprecated;
130
131         uses inv:node;
132         uses group-types:group-features-reply;
133         uses tr:multipart-transaction-aware;
134     }
135
136     augment "/multipart:multipart-reply/multipart:multipart-reply-body" {
137         case multipart-reply-group-stats {
138             uses group-types:group-statistics-reply;
139         }
140
141         case multipart-reply-group-desc {
142             uses group-types:group-desc-stats-reply;
143         }
144
145         case multipart-reply-group-features {
146             uses group-types:group-features-reply;
147         }
148     }
149
150     augment "/multipart:multipart-request/multipart:multipart-request-body" {
151         case multipart-request-group-desc {
152             // Empty request case
153         }
154         case multipart-request-group-features {
155             // Empty request case
156         }
157         case multipart-request-group-stats {
158             leaf group-id {
159                 type group-types:group-id;
160             }
161         }
162     }
163 }