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