Merge "Simplify method isMutualExclusive in Subnet. Remove redundant 'if' statements."
[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         grouping group-statistics {
19         container group-statistics {
20             //config "false";
21             uses group-types:group-statistics;
22         }
23         }    
24     
25     augment "/inv:nodes/inv:node/group-types:group" {
26         ext:augment-identifier "node-group-statistics";
27         uses group-statistics;
28     }
29
30         grouping group-desc {
31         container group-desc {
32             //config "false";
33             uses group-types:group;
34         }
35         }
36     
37     augment "/inv:nodes/inv:node/group-types:group" {
38         ext:augment-identifier "node-group-desc-stats";
39         uses group-desc;
40     }
41
42         grouping group-features {
43                 container group-features {
44             //config "false";
45             uses group-types:group-features-reply;
46         }
47     }
48             
49     augment "/inv:nodes/inv:node" {
50         ext:augment-identifier "node-group-features";
51         uses group-features;
52     }
53
54     // RPC calls
55     rpc get-all-group-statistics {
56         input {
57             uses inv:node-context-ref;
58         }
59         output {
60             uses group-types:group-statistics-reply;
61             uses tr:transaction-aware;
62         }
63     
64     }
65     
66     rpc get-group-statistics {
67         input {
68             uses inv:node-context-ref;
69             leaf group-id{
70                 type group-types:group-id;
71             }
72            
73         }
74         output {
75             uses group-types:group-statistics-reply;
76             uses tr:transaction-aware;
77         }
78     
79     }
80     
81     rpc get-group-description {
82         input {
83             uses inv:node-context-ref;
84         }
85         output {
86             uses group-types:group-desc-stats-reply;
87             uses tr:transaction-aware;
88         }
89     }
90     
91     rpc get-group-features {
92         input {
93             uses inv:node-context-ref;
94         }
95         output {
96             uses group-types:group-features-reply;
97             uses tr:transaction-aware;
98         }
99     }
100     
101
102     //Notification calls
103     
104     notification group-statistics-updated {
105         leaf moreReplies {
106             type boolean;
107         }
108         uses inv:node;
109         uses group-types:group-statistics-reply;
110         uses tr:transaction-aware;
111     }
112     
113     notification group-desc-stats-updated {
114         leaf moreReplies {
115             type boolean;
116         }
117         uses inv:node;
118         uses group-types:group-desc-stats-reply;
119         uses tr:transaction-aware;
120     }
121
122     notification group-features-updated {
123         leaf moreReplies {
124             type boolean;
125         }
126         uses inv:node;
127         uses group-types:group-features-reply;
128         uses tr:transaction-aware;
129     }
130 }