Eliminate blueprint for southbound-cli commands
[openflowplugin.git] / model / model-flow-statistics / src / main / yang / opendaylight-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 flow-node-inventory {prefix flow-node;revision-date "2013-08-19";}
8     import opendaylight-meter-types {prefix meter-types; revision-date "2013-09-18";}
9     import flow-capable-transaction {prefix tr; revision-date "2015-03-04";}
10     import opendaylight-multipart-types { prefix multipart; revision-date "2017-01-12"; }
11
12     description "Openflowplugin meter 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 meter statistics service";
20     }
21
22     augment "/inv:nodes/inv:node/flow-node:meter" {
23         description "Openflow meter statistics data into the meter node.";
24         ext:augment-identifier "node-meter-statistics";
25         container meter-statistics {
26             uses meter-types:meter-statistics;
27         }
28     }
29
30     augment "/inv:nodes/inv:node/flow-node:meter" {
31         description "Openflow meter config statistics data into the meter node.";
32         ext:augment-identifier "node-meter-config-stats";
33         container meter-config-stats {
34             uses meter-types:meter;
35         }
36     }
37
38     augment "/inv:nodes/inv:node" {
39         description "Openflow meter features data into the inventory node node.";
40         ext:augment-identifier "node-meter-features";
41         container meter-features {
42             uses meter-types:meter-features-reply;
43         }
44     }
45
46     // RPC calls
47     rpc get-all-meter-statistics {
48         status deprecated;
49
50         input {
51             uses inv:node-context-ref;
52         }
53         output {
54             uses meter-types:meter-statistics-reply;
55             uses tr:transaction-aware;
56         }
57
58     }
59
60     rpc get-meter-statistics {
61         status deprecated;
62
63         input {
64             uses inv:node-context-ref;
65             leaf meter-id{
66                 type meter-types:meter-id;
67             }
68         }
69         output {
70             uses meter-types:meter-statistics-reply;
71             uses tr:transaction-aware;
72         }
73
74     }
75
76     rpc get-all-meter-config-statistics {
77         status deprecated;
78
79         input {
80             uses inv:node-context-ref;
81         }
82         output {
83                uses meter-types:meter-config-stats-reply;
84             uses tr:transaction-aware;
85         }
86     }
87
88     rpc get-meter-features {
89         status deprecated;
90
91         input {
92             uses inv:node-context-ref;
93         }
94         output {
95             uses meter-types:meter-features-reply;
96             uses tr:transaction-aware;
97         }
98     }
99
100
101     //Notification calls
102
103     notification meter-statistics-updated {
104         status deprecated;
105
106         uses inv:node;
107         uses meter-types:meter-statistics-reply;
108         uses tr:multipart-transaction-aware;
109     }
110
111     notification meter-config-stats-updated {
112         status deprecated;
113
114         uses inv:node;
115         uses meter-types:meter-config-stats-reply;
116         uses tr:multipart-transaction-aware;
117     }
118
119     notification meter-features-updated {
120         status deprecated;
121
122         uses inv:node;
123         uses meter-types:meter-features-reply;
124         uses tr:multipart-transaction-aware;
125     }
126
127     augment "/multipart:multipart-reply/multipart:multipart-reply-body" {
128         case multipart-reply-meter-stats {
129             uses meter-types:meter-statistics-reply;
130         }
131
132         case multipart-reply-meter-config {
133             uses meter-types:meter-config-stats-reply;
134         }
135
136         case multipart-reply-meter-features {
137             uses meter-types:meter-features-reply;
138         }
139     }
140
141     augment "/multipart:multipart-request/multipart:multipart-request-body" {
142         case multipart-request-meter-config {
143             leaf meter-id {
144                 type meter-types:meter-id;
145             }
146         }
147         case multipart-request-meter-features {
148             // Empty request case
149         }
150         case multipart-request-meter-stats {
151             leaf stat-meter-id {
152                 type meter-types:meter-id;
153             }
154         }
155     }
156 }