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