043b0077f79defd977170a105a3651a13c8f9332
[controller.git] / opendaylight / md-sal / model / model-flow-statistics / src / main / yang / 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;}
9     
10     revision "2013-11-11" {
11         description "Initial revision of group statistics service";
12     }
13     
14     typedef group-stats-ref {
15         type instance-identifier;
16     }
17     
18     grouping group-stats-response {
19         uses "inv:node-context-ref";
20
21         leaf group-stats-id {
22             type group-stats-ref;
23         }
24         uses group-types:group-statistics;
25     }
26
27     typedef group-features-ref {
28         type instance-identifier;
29     }
30     
31     grouping group-features-response {
32         uses "inv:node-context-ref";
33
34         leaf group-features-id {
35             type group-features-ref;
36         }
37         uses group-types:group-features;
38     }
39
40     typedef group-desc-ref {
41         type instance-identifier;
42     }
43     
44     grouping group-desc-response {
45         uses "inv:node-context-ref";
46
47         leaf group-desc-id {
48             type group-desc-ref;
49         }
50         uses group-types:group-desc-stats;
51     }
52
53         // RPC calls
54         rpc get-all-group-statistics {
55                 input {
56             uses inv:node-context-ref;
57         }
58         output {
59             list group-statistics {
60                 uses group-stats-response;
61             }
62             uses tr:transaction-aware;
63         }
64         
65         }
66         
67         rpc get-group-statistics {
68                 input {
69             uses inv:node-context-ref;
70             leaf group-id{
71                 type group-types:group-id;
72             }
73         }
74         output {
75             uses group-stats-response;
76             uses tr:transaction-aware;
77         }
78         
79         }
80         
81         rpc get-group-description {
82                 input {
83             uses inv:node-context-ref;
84             leaf group-id{
85                 type group-types:group-id;
86             }
87         }
88         output {
89             uses group-desc-response;
90             uses tr:transaction-aware;
91         }
92         }
93         
94         rpc get-group-features {
95                 input {
96             uses inv:node-context-ref;
97             leaf group-id{
98                 type group-types:group-id;
99             }
100         }
101         output {
102             uses group-features-response;
103             uses tr:transaction-aware;
104         }
105         }
106         
107
108         //Notification calls
109         
110         notification group-statistics-updated {
111                 uses group-stats-response;
112         uses tr:transaction-aware;
113         }
114         
115         notification group-desc-stats-updated {
116                 uses group-desc-response;
117         uses tr:transaction-aware;
118         }
119
120         notification group-features-updated {
121                 uses group-features-response;
122         uses tr:transaction-aware;
123         }
124 }