18dd60d08ddc87a4f8bf45e76b006e7d3d607818
[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         leaf meter-stats-id {
23             type meter-stats-ref;
24         }
25         uses meter-types:meter-statistics;
26     }
27
28     typedef meter-config-ref {
29         type instance-identifier;
30     }
31     
32     grouping meter-config-response {
33         uses "inv:node-context-ref";
34
35         leaf meter-config-id {
36             type meter-config-ref;
37         }
38         uses meter-types:meter-config-stats;
39     }
40
41     typedef meter-features-ref {
42         type instance-identifier;
43     }
44     
45     grouping meter-features-response {
46         uses "inv:node-context-ref";
47
48         leaf meter-features-id {
49             type meter-features-ref;
50         }
51         uses meter-types:meter-features;
52     }
53
54         // RPC calls
55         rpc get-all-meter-statistics {
56                 input {
57             uses inv:node-context-ref;
58         }
59         output {
60             list meter-statistics {
61                 uses meter-stats-response;
62                 uses tr:transaction-aware;
63             }
64         }
65         
66         }
67         
68         rpc get-meter-statistics {
69                 description "RPC Method to send meter statistics request to the give switch for specific meter"; 
70                 input {
71             uses inv:node-context-ref;
72             leaf meter-id{
73                 type meter-types:meter-id;
74             }
75         }
76         output {
77             uses meter-stats-response;
78             uses tr:transaction-aware;
79         }
80         
81         }
82         
83         rpc get-meter-config-statistics {
84                 input {
85             uses inv:node-context-ref;
86             leaf meter-id{
87                 type meter-types:meter-id;
88             }
89         }
90         output {
91                 uses meter-config-response;
92             uses tr:transaction-aware;
93         }
94         }
95         
96         rpc get-meter-features {
97                 input {
98             uses inv:node-context-ref;
99             leaf meter-id{
100                 type meter-types:meter-id;
101                 }
102         }
103         output {
104                 uses meter-features-response;
105             uses tr:transaction-aware;
106         }
107         }
108         
109
110         //Notification calls
111         
112         notification meter-statistics-updated {
113                 uses meter-stats-response;
114         uses tr:transaction-aware;
115         }
116         
117         notification meter-config-stats-updated {
118                 uses meter-config-response;
119         uses tr:transaction-aware;
120         }
121
122         notification meter-features-updated {
123                 uses meter-features-response;
124         uses tr:transaction-aware;
125         }
126 }