Add multipart reply deserializers
[openflowplugin.git] / model / model-flow-statistics / src / main / yang / opendaylight-queue-statistics.yang
1 module opendaylight-queue-statistics {
2     namespace "urn:opendaylight:queue:statistics";
3     prefix queuestat;
4
5     import flow-capable-transaction {prefix tr; revision-date "2015-03-04";}
6     import yang-ext {prefix ext; revision-date "2013-07-09";}
7     import opendaylight-inventory {prefix inv;revision-date "2013-08-19";}
8     import flow-node-inventory {prefix flow-node;revision-date "2013-08-19";}
9     import opendaylight-queue-types {prefix queue-types;revision-date "2013-09-25";}
10     import opendaylight-statistics-types {prefix stat-types;revision-date "2013-09-25";}
11     import opendaylight-multipart-types { prefix multipart; revision-date "2017-01-12"; }
12
13     description "Openflowplugin queue statistics structures.";
14
15     contact
16         "Anilkumar Vishnoi
17         Email: avishnoi@in.ibm.com";
18
19     revision "2013-12-16" {
20         description "Initial revision of queue statistics model";
21     }
22
23     //Augment queue statistics data to the flow-capable-node-connector
24     augment "/inv:nodes/inv:node/inv:node-connector/flow-node:queue" {
25         description "Openflow queue statistics data into the queue node.";
26         ext:augment-identifier "flow-capable-node-connector-queue-statistics-data";
27         uses flow-capable-node-connector-queue-statistics;
28     }
29
30     grouping flow-capable-node-connector-queue-statistics {
31         description "TODO::simplify;";
32         container flow-capable-node-connector-queue-statistics {
33             uses stat-types:generic-queue-statistics;
34         }
35     }
36
37     //RPC calls to fetch queue statistics
38     grouping queue-id-and-statistics-map {
39         status deprecated;
40
41         list queue-id-and-statistics-map {
42             key "queue-id node-connector-id";
43             leaf queue-id {
44                 type queue-types:queue-id;
45             }
46             leaf node-connector-id {
47                 type inv:node-connector-id;
48             }
49
50             uses stat-types:generic-queue-statistics;
51         }
52     }
53
54     rpc get-all-queues-statistics-from-all-ports {
55         status deprecated;
56         description "Get statistics for all the queues attached to all the ports from the node";
57
58         input {
59             uses inv:node-context-ref;
60         }
61         output {
62             uses queue-id-and-statistics-map;
63             uses tr:transaction-aware;
64         }
65     }
66
67     rpc get-all-queues-statistics-from-given-port {
68         status deprecated;
69         description "Get statistics for all queues for given port of the node";
70
71         input {
72             uses inv:node-context-ref;
73             leaf node-connector-id {
74                 type inv:node-connector-id;
75             }
76         }
77         output {
78             uses queue-id-and-statistics-map;
79             uses tr:transaction-aware;
80         }
81     }
82
83     rpc get-queue-statistics-from-given-port {
84         status deprecated;
85         description "Get statistics for given queues from given port of the node";
86
87         input {
88             uses inv:node-context-ref;
89             leaf node-connector-id {
90                 type inv:node-connector-id;
91             }
92             leaf queue-id {
93                 type queue-types:queue-id;
94             }
95         }
96         output {
97             uses queue-id-and-statistics-map;
98             uses tr:transaction-aware;
99         }
100     }
101
102     //Notification for port statistics update
103
104     notification queue-statistics-update {
105         status deprecated;
106
107         uses inv:node;
108         uses queue-id-and-statistics-map;
109         uses tr:multipart-transaction-aware;
110     }
111
112     augment "/multipart:multipart-reply/multipart:multipart-reply-body" {
113         case multipart-reply-queue-stats {
114             uses queue-id-and-statistics-map;
115         }
116     }
117 }