Merge "Modify the java-client to use the build-helper-maven-plugin"
[controller.git] / opendaylight / md-sal / model / model-flow-statistics / src / main / yang / meter-statistics.yang
index 5aea6b7499c4954286f22f5ae039e0bf021f595c..3561e4f33990751d2379e7f08f51c58c5e36c8d8 100644 (file)
@@ -12,22 +12,66 @@ module opendaylight-meter-statistics {
         description "Initial revision of meter statistics service";
     }
 
+    typedef meter-stats-ref {
+        type instance-identifier;
+    }
+    
+    grouping meter-stats-response {
+        uses "inv:node-context-ref";
+
+        list meter-statistics {
+               uses meter-types:meter-statistics;
+        }
+    }
+
+    typedef meter-config-ref {
+        type instance-identifier;
+    }
+    
+    grouping meter-config-response {
+        uses "inv:node-context-ref";
+
+        list meter-config-stats {
+               uses meter-types:meter-config-stats;
+        }
+    }
+
+    typedef meter-features-ref {
+        type instance-identifier;
+    }
+    
+    grouping meter-features-response {
+        uses "inv:node-context-ref";
+
+        uses meter-types:meter-features;
+    }
+
+       container meter-all-stats {
+               container meter-stats {
+                       uses meter-stats-response;
+               }
+               
+               container meter-config {
+                       uses meter-config-response;
+               }
+               
+               container meter-features {
+                       uses meter-features-response;
+               }
+       }
        // RPC calls
        rpc get-all-meter-statistics {
                input {
             uses inv:node-context-ref;
         }
         output {
-            list meter-statistics {
-                uses meter-types:meter-statistics;
-                uses tr:transaction-aware;
-            }
+                       uses meter-stats-response;
+                       uses tr:transaction-aware;
         }
        
        }
        
        rpc get-meter-statistics {
-               description "RPC Method to send meter statistics request to the give switch for specific meter"; 
                input {
             uses inv:node-context-ref;
             leaf meter-id{
@@ -35,21 +79,18 @@ module opendaylight-meter-statistics {
             }
         }
         output {
-            uses meter-types:meter-statistics;
+            uses meter-stats-response;
             uses tr:transaction-aware;
         }
        
        }
        
-       rpc get-meter-config-statistics {
+       rpc get-all-meter-config-statistics {
                input {
             uses inv:node-context-ref;
-            leaf meter-id{
-               type meter-types:meter-id;
-            }
         }
         output {
-               uses meter-types:meter-config-stats;
+               uses meter-config-response;
             uses tr:transaction-aware;
         }
        }
@@ -57,12 +98,9 @@ module opendaylight-meter-statistics {
        rpc get-meter-features {
                input {
             uses inv:node-context-ref;
-            leaf meter-id{
-               type meter-types:meter-id;
-               }
         }
         output {
-               uses meter-types:meter-features;
+               uses meter-features-response;
             uses tr:transaction-aware;
         }
        }
@@ -71,17 +109,28 @@ module opendaylight-meter-statistics {
        //Notification calls
        
        notification meter-statistics-updated {
-               uses meter-types:meter-statistics;
+           leaf meter-stats-id {
+            type meter-stats-ref;
+        }
+       uses meter-stats-response;
         uses tr:transaction-aware;
        }
        
        notification meter-config-stats-updated {
-               uses meter-types:meter-config-stats;
+               leaf meter-config-id {
+            type meter-config-ref;
+        }
+       
+               uses meter-config-response;
         uses tr:transaction-aware;
        }
 
-       notification meter-features {
-               uses meter-types:meter-features;
+       notification meter-features-updated {
+           leaf meter-features-id {
+            type meter-features-ref;
+        }
+       
+               uses meter-features-response;
         uses tr:transaction-aware;
        }
 }