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 3561e4f33990751d2379e7f08f51c58c5e36c8d8..b2cf78b61de21902c31c6ae2b91d2112ca0d41de 100644 (file)
@@ -4,133 +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";
     }
 
-    typedef meter-stats-ref {
-        type instance-identifier;
-    }
-    
-    grouping meter-stats-response {
-        uses "inv:node-context-ref";
-
-        list meter-statistics {
-               uses meter-types:meter-statistics;
+    augment "/inv:nodes/inv:node/flow-node:meter" {
+        ext:augment-identifier "node-meter-statistics";
+        container meter-statistics {
+            //config "false";
+            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;
+    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;
         }
     }
-
-    typedef meter-features-ref {
-        type instance-identifier;
-    }
     
-    grouping meter-features-response {
-        uses "inv:node-context-ref";
-
-        uses meter-types:meter-features;
+    augment "/inv:nodes/inv:node" {
+        ext:augment-identifier "node-meter-features";
+        container meter-features {
+            //config "false";
+            uses meter-types:meter-features-reply;
+        }
     }
 
-       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 {
+    // RPC calls
+    rpc get-all-meter-statistics {
+        input {
             uses inv:node-context-ref;
         }
         output {
-                       uses meter-stats-response;
-                       uses tr:transaction-aware;
+            uses meter-types:meter-statistics-reply;
+            uses tr:transaction-aware;
         }
-       
-       }
-       
-       rpc get-meter-statistics {
-               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-stats-response;
+            uses meter-types:meter-statistics-reply;
             uses tr:transaction-aware;
         }
-       
-       }
-       
-       rpc get-all-meter-config-statistics {
-               input {
+    
+    }
+    
+    rpc get-all-meter-config-statistics {
+        input {
             uses inv:node-context-ref;
         }
         output {
-               uses meter-config-response;
+               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;
         }
         output {
-               uses meter-features-response;
+            uses meter-types:meter-features-reply;
             uses tr:transaction-aware;
         }
-       }
-       
+    }
+    
 
-       //Notification calls
-       
-       notification meter-statistics-updated {
-           leaf meter-stats-id {
-            type meter-stats-ref;
+    //Notification calls
+    
+    notification meter-statistics-updated {
+        leaf moreReplies {
+            type boolean;
         }
-       uses meter-stats-response;
+        
+        uses inv:node;
+        uses meter-types:meter-statistics-reply;
         uses tr:transaction-aware;
-       }
-       
-       notification meter-config-stats-updated {
-               leaf meter-config-id {
-            type meter-config-ref;
+    }
+    
+    notification meter-config-stats-updated {
+        leaf moreReplies {
+            type boolean;
         }
-       
-               uses meter-config-response;
+        
+        uses inv:node;
+        uses meter-types:meter-config-stats-reply;
         uses tr:transaction-aware;
-       }
+    }
 
-       notification meter-features-updated {
-           leaf meter-features-id {
-            type meter-features-ref;
+    notification meter-features-updated {
+        leaf moreReplies {
+            type boolean;
         }
-       
-               uses meter-features-response;
+        
+        uses inv:node;
+        uses meter-types:meter-features-reply;
         uses tr:transaction-aware;
-       }
+    }
 }