Fixed Group and Meter RPC model to use MD-SAL routing correctly
[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-context-ref;
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-context-ref;
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-context-ref;
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-context-ref;
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 }