Merge "Add some log messages in case controller failed to add connected node."
[controller.git] / opendaylight / md-sal / model / model-flow-service / src / main / yang / meter-service.yang
1 module sal-meter {
2     namespace "urn:opendaylight:meter:service";
3     prefix meter;
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-type;revision-date "2013-09-18";}
8     import flow-capable-transaction {prefix tr;}
9
10     revision "2013-09-18" {
11         description "Initial revision of meter service";
12     }        
13     
14     grouping node-meter {
15         uses "inv:node-context-ref";
16         
17         uses meter-type:meter;
18     }
19
20     /** Base configuration structure **/
21     grouping meter-update {
22         uses "inv:node-context-ref";
23
24         container original-meter {
25             uses meter-type:meter;
26         }
27         container updated-meter {
28             uses meter-type:meter;
29         }
30     }
31
32     rpc add-meter {
33         input {
34             leaf meter-ref {
35                 type meter-type:meter-ref;
36             }
37             uses node-meter;
38             uses tr:transaction-aware;            
39         }
40         output {
41             uses tr:transaction-aware;
42         }
43     }
44
45     rpc remove-meter {
46         input {
47             leaf meter-ref {
48                 type meter-type:meter-ref;
49             }
50             
51             uses node-meter;
52             uses tr:transaction-aware;            
53         }
54         output {
55             uses tr:transaction-aware;
56         }
57     }
58
59     rpc update-meter {
60         input {
61             leaf meter-ref {
62                 type meter-type:meter-ref;
63             }
64             
65             uses meter-update;
66             uses tr:transaction-aware;            
67         }
68         output {
69             uses tr:transaction-aware;
70         }
71     }
72         
73     notification meter-added {
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         leaf meter-ref {
83             type meter-type:meter-ref;
84         }
85         uses node-meter;
86         uses tr:transaction-aware;
87     }
88
89     notification meter-removed {
90         leaf meter-ref {
91             type meter-type:meter-ref;
92         }
93         uses node-meter;
94         uses tr:transaction-aware;
95     }
96 }