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