Unit Test for md-sal netconf northbound mapping.
[controller.git] / opendaylight / md-sal / 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;}
8
9     revision "2013-09-18" {
10         description "Initial revision of meter service";
11     }        
12     
13     grouping node-meter {
14         uses "inv:node-context-ref";
15         
16         uses meter-type:meter;
17     }
18
19     /** Base configuration structure **/
20     grouping meter-update {
21         uses "inv:node-context-ref";
22
23         container original-meter {
24             uses meter-type:meter;
25         }
26         container updated-meter {
27             uses meter-type:meter;
28         }
29     }
30
31     rpc add-meter {
32         input {
33             uses tr:transaction-metadata;            
34             leaf meter-ref {
35                 type meter-type:meter-ref;
36             }
37             uses node-meter;            
38         }
39         output {
40             uses tr:transaction-aware;
41         }
42     }
43
44     rpc remove-meter {
45         input {
46             uses tr:transaction-metadata;            
47             leaf meter-ref {
48                 type meter-type:meter-ref;
49             }
50             
51             uses node-meter;                       
52         }
53         output {
54             uses tr:transaction-aware;
55         }
56     }
57
58     rpc update-meter {
59         input {
60             uses tr:transaction-metadata;            
61             leaf meter-ref {
62                 type meter-type:meter-ref;
63             }
64             
65             uses meter-update;                       
66         }
67         output {
68             uses tr:transaction-aware;
69         }
70     }
71         
72     notification meter-added {
73         uses tr:transaction-metadata;
74         leaf meter-ref {
75             type meter-type:meter-ref;
76         }
77         uses node-meter;
78         uses tr:transaction-aware;
79     }
80
81     notification meter-updated {
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-removed {
91         uses tr:transaction-metadata;
92         leaf meter-ref {
93             type meter-type:meter-ref;
94         }
95         uses node-meter;
96         uses tr:transaction-aware;
97     }
98 }