Merge "ConfigurationService to create default config dir"
[controller.git] / opendaylight / md-sal / 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;}
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
12     contact
13         "Anilkumar Vishnoi
14         Email: avishnoi@in.ibm.com";
15
16     revision "2013-12-16" {
17         description "Initial revision of queue statistics model";
18     }
19     
20     //Augment queue statistics data to the flow-capable-node-connector
21     augment "/inv:nodes/inv:node/inv:node-connector/flow-node:queue" {
22         ext:augment-identifier "flow-capable-node-connector-queue-statistics-data";
23         uses flow-capable-node-connector-queue-statistics;
24     }
25     
26     grouping flow-capable-node-connector-queue-statistics {
27         container flow-capable-node-connector-queue-statistics {
28             //config "false";
29             uses stat-types:generic-queue-statistics;
30         }
31     }    
32     
33     //RPC calls to fetch queue statistics
34     grouping queue-id-and-statistics-map {
35         list queue-id-and-statistics-map {
36             key "queue-id node-connector-id";
37             leaf queue-id {
38                 type queue-types:queue-id;
39             }
40             leaf node-connector-id {
41                 type inv:node-connector-id;
42             }
43             
44             uses stat-types:generic-queue-statistics;
45         }
46     }
47     
48     rpc get-all-queues-statistics-from-all-ports {
49         description "Get statistics for all the queues attached to all the ports from the node";
50         input {
51             uses inv:node-context-ref;
52         }
53         output {
54             uses queue-id-and-statistics-map;
55             uses tr:transaction-aware;
56         }
57     }
58     
59     rpc get-all-queues-statistics-from-given-port {
60         description "Get statistics for all queues for given port of the node";
61         input {
62             uses inv:node-context-ref;
63             leaf node-connector-id {
64                 type inv:node-connector-id;
65             }
66         }
67         output {
68             uses queue-id-and-statistics-map;
69             uses tr:transaction-aware;
70         }
71     }
72     
73     rpc get-queue-statistics-from-given-port {
74         description "Get statistics for given queues from given port of the node";
75         input {
76             uses inv:node-context-ref;
77             leaf node-connector-id {
78                 type inv:node-connector-id;
79             }
80             leaf queue-id {
81                 type queue-types:queue-id;
82             }
83         }
84         output {
85             uses queue-id-and-statistics-map;
86             uses tr:transaction-aware;
87         }
88     }
89
90     //Notification for port statistics update
91
92     notification queue-statistics-update {
93         uses inv:node;
94         uses queue-id-and-statistics-map;
95         uses tr:multipart-transaction-aware;
96     }
97 }