BUG-9223:Remove hardcoded value of lldp interval
[openflowplugin.git] / model / model-flow-service / src / main / yang / sal-meter.yang
1 module sal-meter {
2     namespace "urn:opendaylight:meter:service";
3     prefix meter;
4
5     import opendaylight-inventory {prefix inv;revision-date "2013-08-19";}
6     import opendaylight-meter-types {prefix meter-type;revision-date "2013-09-18";}
7     import flow-capable-transaction {prefix tr; revision-date "2015-03-04";}
8
9     description "Openflow meter management.";
10
11     revision "2013-09-18" {
12         description "Initial revision of meter service";
13     }        
14     
15     grouping node-meter {
16         description "Basic openflow meter structure suitable for rpc input (contains node-context-ref)";
17         
18         uses "inv:node-context-ref";
19         uses meter-type:meter;
20     }
21
22     /** Base configuration structure **/
23     grouping meter-update {
24         description "DataStore aware update openflow meter structure suitable for rpc input (contains node-context-ref)";
25         uses "inv:node-context-ref";
26
27         container original-meter {
28             uses meter-type:meter;
29         }
30         container updated-meter {
31             uses meter-type:meter;
32         }
33     }
34
35     rpc add-meter {
36         description "Adding meter to openflow device.";
37         input {
38             uses tr:transaction-metadata;            
39             leaf meter-ref {
40                 type meter-type:meter-ref;
41             }
42             uses node-meter;            
43         }
44         output {
45             uses tr:transaction-aware;
46         }
47     }
48
49     rpc remove-meter {
50         description "Removing metere from openflow device.";
51         input {
52             uses tr:transaction-metadata;            
53             leaf meter-ref {
54                 type meter-type:meter-ref;
55             }
56             
57             uses node-meter;                       
58         }
59         output {
60             uses tr:transaction-aware;
61         }
62     }
63
64     rpc update-meter {
65         description "Updating meter on openflow device.";
66         input {
67             uses tr:transaction-metadata;            
68             leaf meter-ref {
69                 type meter-type:meter-ref;
70             }
71             
72             uses meter-update;                       
73         }
74         output {
75             uses tr:transaction-aware;
76         }
77     }
78         
79     notification meter-added {
80         status deprecated;
81
82         uses tr:transaction-metadata;
83         leaf meter-ref {
84             type meter-type:meter-ref;
85         }
86         uses node-meter;
87         uses tr:transaction-aware;
88     }
89
90     notification meter-updated {
91         status deprecated;
92
93         uses tr:transaction-metadata;
94         leaf meter-ref {
95             type meter-type:meter-ref;
96         }
97         uses node-meter;
98         uses tr:transaction-aware;
99     }
100
101     notification meter-removed {
102         status deprecated;
103
104         uses tr:transaction-metadata;
105         leaf meter-ref {
106             type meter-type:meter-ref;
107         }
108         uses node-meter;
109         uses tr:transaction-aware;
110     }
111 }