AbstractConfigTest - exposed BundleContext and ServiceRegistration mock.
[controller.git] / opendaylight / md-sal / model / model-flow-statistics / src / main / yang / 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 opendaylight-meter-types {prefix meter-types;revision-date "2013-09-18";}
8     import flow-capable-transaction {prefix tr;}
9     
10     contact
11         "Anilkumar Vishnoi
12         Email: avishnoi@in.ibm.com";
13
14     revision "2013-11-11" {
15         description "Initial revision of meter statistics service";
16     }
17
18     augment "/inv:nodes/inv:node" {
19         ext:augment-identifier "node-meter-statistics";
20         container meter-statistics {
21                 config "false";
22                 uses meter-types:meter-statistics-reply;
23         }
24     }
25
26         augment "/inv:nodes/inv:node" {
27         ext:augment-identifier "node-meter-config-stats";
28         container meter-config-stats {
29                 config "false";
30                 uses meter-types:meter-config-stats-reply;
31         }
32     }
33         
34         augment "/inv:nodes/inv:node" {
35         ext:augment-identifier "node-meter-features";
36         container meter-features {
37                 config "false";
38                 uses meter-types:meter-features-reply;
39         }
40     }
41
42         // RPC calls
43         rpc get-all-meter-statistics {
44                 input {
45             uses inv:node;
46         }
47         output {
48                         uses meter-types:meter-statistics-reply;
49                         uses tr:transaction-aware;
50         }
51         
52         }
53         
54         rpc get-meter-statistics {
55                 input {
56             uses inv:node;
57             leaf meter-id{
58                 type meter-types:meter-id;
59             }
60         }
61         output {
62             uses meter-types:meter-statistics-reply;
63             uses tr:transaction-aware;
64         }
65         
66         }
67         
68         rpc get-all-meter-config-statistics {
69                 input {
70             uses inv:node;
71         }
72         output {
73                 uses meter-types:meter-config-stats-reply;
74             uses tr:transaction-aware;
75         }
76         }
77         
78         rpc get-meter-features {
79                 input {
80             uses inv:node;
81         }
82         output {
83                 uses meter-types:meter-features-reply;
84             uses tr:transaction-aware;
85         }
86         }
87         
88
89         //Notification calls
90         
91         notification meter-statistics-updated {
92                 leaf moreReplies {
93                         type boolean;
94                 }
95                 
96                 uses inv:node;
97         uses meter-types:meter-statistics-reply;
98         uses tr:transaction-aware;
99         }
100         
101         notification meter-config-stats-updated {
102                 leaf moreReplies {
103                         type boolean;
104                 }
105             
106         uses inv:node;
107             uses meter-types:meter-config-stats-reply;
108         uses tr:transaction-aware;
109         }
110
111         notification meter-features-updated {
112                 leaf moreReplies {
113                         type boolean;
114                 }
115                 
116                 uses inv:node;
117         uses meter-types:meter-features-reply;
118         uses tr:transaction-aware;
119         }
120 }