update from RIFT as of 696b75d2fe9fb046261b08c616f1bcf6c0b54a9b second try
[osm/SO.git] / models / plugins / yang / vld.yang
index 2747887..925a70d 100644 (file)
@@ -1,7 +1,7 @@
 
 /*
  * 
- *   Copyright 2016 RIFT.IO Inc
+ *   Copyright 2016-2017 RIFT.IO Inc
  *
  *   Licensed under the Apache License, Version 2.0 (the "License");
  *   you may not use this file except in compliance with the License.
@@ -23,12 +23,8 @@ module vld
   namespace "urn:ietf:params:xml:ns:yang:nfvo:vld";
   prefix "vld";
 
-  import rw-pb-ext {
-    prefix "rwpb";
-  }
-
-  import vnfd {
-    prefix "vnfd";
+  import project-vnfd {
+    prefix "project-vnfd";
   }
 
   import ietf-inet-types {
@@ -43,6 +39,15 @@ module vld
     prefix "manotypes";
   }
 
+  import rw-project {
+    prefix "rw-project";
+  }
+
+  revision 2017-02-08 {
+    description
+      "Update model to support projects.";
+  }
+
   revision 2015-09-10 {
     description
       "Initial revision. This YANG file defines
@@ -51,91 +56,93 @@ module vld
       "Derived from earlier versions of base YANG files";
   }
 
-  container vld-catalog {
+  augment "/rw-project:project" {
+    container vld-catalog {
 
-    list vld {
-      key "id";
+      list vld {
+        key "id";
 
-      leaf id {
-        description "Identifier for the VLD.";
-        type yang:uuid;
-      }
+        leaf id {
+          description "Identifier for the VLD.";
+          type yang:uuid;
+        }
 
-      leaf name {
-        description "Virtual Link Descriptor (VLD) name.";
-        type string;
-      }
+        leaf name {
+          description "Virtual Link Descriptor (VLD) name.";
+          type string;
+        }
 
-      leaf short-name {
-        description "Short name for VLD for UI";
-        type string;
-      }
+        leaf short-name {
+          description "Short name for VLD for UI";
+          type string;
+        }
 
-      leaf vendor {
-        description "Provider of the VLD.";
-        type string;
-      }
+        leaf vendor {
+          description "Provider of the VLD.";
+          type string;
+        }
 
-      leaf description {
-        description "Description of the VLD.";
-        type string;
-      }
+        leaf description {
+          description "Description of the VLD.";
+          type string;
+        }
 
-      leaf version {
-        description "Version of the VLD";
-        type string;
-      }
+        leaf version {
+          description "Version of the VLD";
+          type string;
+        }
 
-      leaf type {
-        type manotypes:virtual-link-type;
-      }
+        leaf type {
+          type manotypes:virtual-link-type;
+        }
 
-      leaf root-bandwidth {
-        description
+        leaf root-bandwidth {
+          description
             "For ELAN this is the aggregate bandwidth.";
-        type uint64;
-      }
+          type uint64;
+        }
 
-      leaf leaf-bandwidth {
-        description
+        leaf leaf-bandwidth {
+          description
             "For ELAN this is the bandwidth of branches.";
-        type uint64;
-      }
+          type uint64;
+        }
 
-      list vnfd-connection-point-ref {
-        description
+        list vnfd-connection-point-ref {
+          description
             "A list of references to connection points.";
-        key "vnfd-ref member-vnf-index-ref";
+          key "vnfd-ref member-vnf-index-ref";
 
-        leaf vnfd-ref {
-          description "A reference to a vnfd";
-          type leafref {
-            path "/vnfd:vnfd-catalog/vnfd:vnfd/vnfd:id";
+          leaf vnfd-ref {
+            description "A reference to a vnfd";
+            type leafref {
+              path "../../../../project-vnfd:vnfd-catalog/project-vnfd:vnfd/project-vnfd:id";
+            }
           }
-        }
 
-        leaf member-vnf-index-ref {
-          description 
+          leaf member-vnf-index-ref {
+            description
               "A reference to the consituent-vnfd id in nsd. 
               Should have been a leafref to:
-                '/nsd:nsd-catalog:/nsd:nsd/constituent-vnfd/member-vnf-index-ref'. 
+                '/rw-project:project/project-nsd:nsd-catalog:/nsd/constituent-vnfd/member-vnf-index-ref'.
               Instead using direct leaf to avoid circular reference.";
-          type uint64; 
-        }
+            type uint64;
+          }
 
-        leaf vnfd-connection-point-ref {
-          description 
+          leaf vnfd-connection-point-ref {
+            description
               "A reference to a connection point name in a vnfd";
-          type leafref {
-            path "/vnfd:vnfd-catalog/vnfd:vnfd" 
-               + "[vnfd:id = current()/../vld:vnfd-ref]"
-               + "/vnfd:connection-point/vnfd:name";
+            type leafref {
+              path "../../../../project-vnfd:vnfd-catalog/project-vnfd:vnfd"
+                + "[project-vnfd:id = current()/../vld:vnfd-ref]"
+                + "/project-vnfd:connection-point/project-vnfd:name";
+            }
           }
         }
-      }
 
-      // replicate for pnfd container here
-      uses manotypes:provider-network;
+        // replicate for pnfd container here
+        uses manotypes:provider-network;
+      }
     }
   }
 }