Bug 7453 - FlowRemoved doesn't have Removed Reason Information
[openflowplugin.git] / model / model-flow-service / src / main / yang / sal-meters-batch.yang
1 module sal-meters-batch {
2     namespace "urn:opendaylight:meters:service";
3     prefix meters;
4
5     import barrier-common {prefix bc;revision-date "2016-03-15";}
6     import batch-common {prefix batch;revision-date "2016-03-22";}
7     import opendaylight-inventory {prefix inv;revision-date "2013-08-19";}
8     import opendaylight-meter-types {prefix meter-type;revision-date "2013-09-18";}
9
10     description "Openflow batch meter management.";
11
12     revision "2016-03-16" {
13         description "Initial revision of meter batch service";
14     }
15
16     grouping batch-meter-input-update-grouping {
17         description "Update openflow meter structure suitable for batch rpc input.";
18
19         // meter-id is included in meter-type:meter
20         container original-batched-meter {
21             uses meter-type:meter;
22         }
23         container updated-batched-meter {
24             uses meter-type:meter;
25         }
26     }
27
28     grouping batch-meter-output-list-grouping {
29         description "Openflow meter list suitable for batch rpc output.";
30
31          list batch-failed-meters-output {
32             key batch-order;
33
34             uses batch:batch-order-grouping;
35             leaf meter-id {
36                 type meter-type:meter-id;
37             }
38          }
39     }
40
41     rpc add-meters-batch {
42         description "Adding batch meters to openflow device.";
43         input {
44             uses "inv:node-context-ref";
45
46             list batch-add-meters {
47                 key meter-id;
48
49                 leaf meter-ref {
50                     type meter-type:meter-ref;
51                 }
52                 uses meter-type:meter;
53             }
54             uses bc:barrier-suffix;
55         }
56         output {
57             uses batch-meter-output-list-grouping;
58         }
59     }
60
61     rpc remove-meters-batch {
62         description "Removing batch meter from openflow device.";
63         input {
64             uses "inv:node-context-ref";
65
66             list batch-remove-meters {
67                 key meter-id;
68
69                 leaf meter-ref {
70                     type meter-type:meter-ref;
71                 }
72                 uses meter-type:meter;
73             }
74             uses bc:barrier-suffix;
75         }
76         output {
77             uses batch-meter-output-list-grouping;
78         }
79     }
80
81     rpc update-meters-batch {
82         description "Updating batch meter on openflow device.";
83         input {
84             uses "inv:node-context-ref";
85             list batch-update-meters {
86                 leaf meter-ref {
87                     type meter-type:meter-ref;
88                 }
89                 uses batch-meter-input-update-grouping;
90             }
91             uses bc:barrier-suffix;
92         }
93         output {
94             uses batch-meter-output-list-grouping;
95         }
96     }
97 }