Merge "Refactor Subnet.isSubnetOf - reduce number of 'if' statements. Added unitests."
[controller.git] / opendaylight / md-sal / model / model-flow-statistics / src / main / yang / meter-statistics.yang
index 5aea6b7499c4954286f22f5ae039e0bf021f595c..b2cf78b61de21902c31c6ae2b91d2112ca0d41de 100644 (file)
@@ -4,84 +4,118 @@ module opendaylight-meter-statistics {
 
     import yang-ext {prefix ext; revision-date "2013-07-09";}
     import opendaylight-inventory {prefix inv;revision-date "2013-08-19";}
+    import flow-node-inventory {prefix flow-node;revision-date "2013-08-19";}
     import opendaylight-meter-types {prefix meter-types;revision-date "2013-09-18";}
     import flow-capable-transaction {prefix tr;}
     
+    contact
+        "Anilkumar Vishnoi
+        Email: avishnoi@in.ibm.com";
 
     revision "2013-11-11" {
         description "Initial revision of meter statistics service";
     }
 
-       // RPC calls
-       rpc get-all-meter-statistics {
-               input {
+    augment "/inv:nodes/inv:node/flow-node:meter" {
+        ext:augment-identifier "node-meter-statistics";
+        container meter-statistics {
+            //config "false";
+            uses meter-types:meter-statistics;
+        }
+    }
+
+    augment "/inv:nodes/inv:node/flow-node:meter" {
+        ext:augment-identifier "node-meter-config-stats";
+        container meter-config-stats {
+            //config "false";
+            uses meter-types:meter;
+        }
+    }
+    
+    augment "/inv:nodes/inv:node" {
+        ext:augment-identifier "node-meter-features";
+        container meter-features {
+            //config "false";
+            uses meter-types:meter-features-reply;
+        }
+    }
+
+    // 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-types:meter-statistics-reply;
+            uses tr:transaction-aware;
         }
-       
-       }
-       
-       rpc get-meter-statistics {
-               description "RPC Method to send meter statistics request to the give switch for specific meter"; 
-               input {
+    
+    }
+    
+    rpc get-meter-statistics {
+        input {
             uses inv:node-context-ref;
             leaf meter-id{
-               type meter-types:meter-id;
+                type meter-types:meter-id;
             }
         }
         output {
-            uses meter-types:meter-statistics;
+            uses meter-types:meter-statistics-reply;
             uses tr:transaction-aware;
         }
-       
-       }
-       
-       rpc get-meter-config-statistics {
-               input {
+    
+    }
+    
+    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-types:meter-config-stats-reply;
             uses tr:transaction-aware;
         }
-       }
-       
-       rpc get-meter-features {
-               input {
+    }
+    
+    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-types:meter-features-reply;
             uses tr:transaction-aware;
         }
-       }
-       
+    }
+    
 
-       //Notification calls
-       
-       notification meter-statistics-updated {
-               uses meter-types:meter-statistics;
+    //Notification calls
+    
+    notification meter-statistics-updated {
+        leaf moreReplies {
+            type boolean;
+        }
+        
+        uses inv:node;
+        uses meter-types:meter-statistics-reply;
         uses tr:transaction-aware;
-       }
-       
-       notification meter-config-stats-updated {
-               uses meter-types:meter-config-stats;
+    }
+    
+    notification meter-config-stats-updated {
+        leaf moreReplies {
+            type boolean;
+        }
+        
+        uses inv:node;
+        uses meter-types:meter-config-stats-reply;
         uses tr:transaction-aware;
-       }
+    }
 
-       notification meter-features {
-               uses meter-types:meter-features;
+    notification meter-features-updated {
+        leaf moreReplies {
+            type boolean;
+        }
+        
+        uses inv:node;
+        uses meter-types:meter-features-reply;
         uses tr:transaction-aware;
-       }
+    }
 }