New Feature : Support VNF service access points, model changes
[osm/SO.git] / models / plugins / yang / nsd.yang
index ac0987c..ab92682 100644 (file)
@@ -323,6 +323,46 @@ module nsd
         }
       }
 
+      list vnfap-map {
+        key "id";
+        description "A mapping of VNF application point 
+                     capability/dependency within this network service";
+        leaf id {
+          description "Identfier for VNF access point map";
+          type string;
+        }
+        container capability {
+          leaf member-vnf-index-ref {
+            description "Reference to member-vnf within constituent-vnfds";
+            type leafref {
+              path "../../../../constituent-vnfd/member-vnf-index";
+            }
+          }
+          leaf capability-ref {
+            description "Reference to the capability with the capability of the VNF
+                         with the specified member-vnf-index";
+            type leafref {
+              path "/vnfd:vnfd-catalog/vnfd:vnfd/vnfd:vnfap/vnfd:capability/vnfd:name";
+            }
+          }
+        }
+        container dependency {
+          leaf member-vnf-index-ref {
+            description "Reference to member-vnf within constituent-vnfds";
+            type leafref {
+              path "../../../../constituent-vnfd/member-vnf-index";
+            }
+          }
+          leaf dependency-ref {
+            description "Reference to the dependency within the dependency of the VNF
+                         with the specified member-vnf-index";
+            type leafref {
+              path "/vnfd:vnfd-catalog/vnfd:vnfd/vnfd:vnfap/vnfd:dependency/vnfd:name";
+            }
+          }
+        }
+      }
+
       // replicate for pnfd container here
       uses manotypes:provider-network;
 
@@ -377,6 +417,58 @@ module nsd
       }
     }
 
+    list vnfap-map {
+      description
+        "Mapping of capability and dependency in this
+         network service.";
+      key "id";
+
+      leaf id {
+        description "Identifier for VNF access point mapping";
+        type string;
+      }
+
+      container capability {
+        leaf member-vnf-index {
+          description "Reference to member VNF within this network service";
+          type leafref {
+            path "../../../constituent-vnfd/member-vnf-index";
+          }
+        }
+
+        leaf capability-ref {
+          description
+            "Reference to the capability in the specified
+             member VNF. This should be a leafref as follows:
+             path \"/vnfd:vnf-catalog/vnfd[id=
+                    ../../constituent-vnfd[member-vnf-index=
+                    ../member-vnf-index]/vnfd-id-ref]/
+                    vnfap/capability/name\"";
+            type string;
+        }
+      }
+
+      container dependency {
+        leaf member-vnf-index {
+          description "Reference to member VNF within this network service";
+          type leafref {
+            path "../../../constituent-vnfd/member-vnf-index";
+          }
+        }
+
+        leaf dependency-ref {
+          description
+            "Reference to the depenency in the specified
+             member VNF. This should be a leafref as follows:
+             path \"/vnfd:vnf-catalog/vnfd[id=
+                    ../../constituent-vnfd[member-vnf-index=
+                    ../member-vnf-index]/vnfd-id-ref]/
+                    vnfap/dependency/name\"";
+            type string;
+        }
+      }
+    }
+
     list scaling-group-descriptor {
       description
           "scaling group descriptor within this network service.