MD-SAL StatisticsManager - Yang rpc and notification defined for group and meter
[controller.git] / opendaylight / md-sal / model / model-flow-statistics / src / main / yang / group-statistics.yang
diff --git a/opendaylight/md-sal/model/model-flow-statistics/src/main/yang/group-statistics.yang b/opendaylight/md-sal/model/model-flow-statistics/src/main/yang/group-statistics.yang
new file mode 100644 (file)
index 0000000..d589f45
--- /dev/null
@@ -0,0 +1,85 @@
+module opendaylight-group-statistics {
+    namespace "urn:opendaylight:group:statistics";
+    prefix groupstat;
+
+    import yang-ext {prefix ext; revision-date "2013-07-09";}
+    import opendaylight-inventory {prefix inv;revision-date "2013-08-19";}
+    import opendaylight-group-types {prefix group-types;revision-date "2013-10-18";}
+    import flow-capable-transaction {prefix tr;}
+    
+    revision "2013-11-11" {
+        description "Initial revision of group statistics service";
+    }
+
+       // RPC calls
+       rpc get-all-group-statistics {
+               input {
+            uses inv:node-context-ref;
+        }
+        output {
+            list group-statistics {
+                uses group-types:group-statistics;
+            }
+            uses tr:transaction-aware;
+        }
+       
+       }
+       
+       rpc get-group-statistics {
+               input {
+            uses inv:node-context-ref;
+            leaf group-id{
+               type group-types:group-id;
+            }
+        }
+        output {
+            uses group-types:group-statistics;
+            uses tr:transaction-aware;
+        }
+       
+       }
+       
+       rpc get-group-description {
+               input {
+            uses inv:node-context-ref;
+            leaf group-id{
+               type group-types:group-id;
+            }
+        }
+        output {
+               uses group-types:group-desc-stats;
+            uses tr:transaction-aware;
+        }
+       }
+       
+       rpc get-group-features {
+               input {
+            uses inv:node-context-ref;
+            leaf group-id{
+               type group-types:group-id;
+            }
+        }
+        output {
+               uses group-types:group-features;
+            uses tr:transaction-aware;
+        }
+       }
+       
+
+       //Notification calls
+       
+       notification group-statistics-updated {
+               uses group-types:group-statistics;
+        uses tr:transaction-aware;
+       }
+       
+       notification group-desc-stats-updated {
+               uses group-types:group-desc-stats;
+        uses tr:transaction-aware;
+       }
+
+       notification group-features {
+               uses group-types:group-features;
+        uses tr:transaction-aware;
+       }
+}