Simple strategy to allow address pairs for virtual IP
[osm/IM.git] / models / yang / nsd-base.yang
index c164078..70dd3eb 100644 (file)
@@ -20,7 +20,7 @@
 
 module nsd-base
 {
-  namespace "http://riftio.com/ns/riftware-1.0/nsd-base";
+  namespace "urn:etsi:osm:yang:nsd-base";
   prefix "nsd-base";
 
   import ietf-inet-types {
@@ -390,10 +390,10 @@ module nsd-base
           type manotypes:scaling-trigger;
         }
 
-        leaf ns-service-primitive-name-ref {
-          description "Reference to the NS service primitive";
+        leaf ns-config-primitive-name-ref {
+          description "Reference to the NS primitive";
           type leafref {
-            path "../../../service-primitive/name";
+            path "../../../ns-configuration/config-primitive/name";
           }
         }
       }
@@ -416,61 +416,84 @@ module nsd-base
         uses rsp-common;
 
         list vnfd-connection-point-ref { // not common
-        description
-          "A list of references to connection points.";
-        key "member-vnf-index-ref";
+          description
+            "A list of references to connection points.";
+          key "member-vnf-index-ref";
 
-        leaf member-vnf-index-ref {
-          description "Reference to member-vnf within constituent-vnfds";
-          type leafref {
-            path "../../../../constituent-vnfd/member-vnf-index";
+          leaf member-vnf-index-ref {
+            description "Reference to member-vnf within constituent-vnfds";
+            type leafref {
+              path "../../../../constituent-vnfd/member-vnf-index";
+            }
           }
-        }
 
-        leaf order {
-          type uint8;
-          description
-            "A number that denotes the order of a VNF in a chain";
-        }
+          leaf order {
+            type uint8;
+            description
+              "A number that denotes the order of a VNF in a chain";
+          }
 
-        leaf vnfd-id-ref {
-          description
-            "A reference to a vnfd. This is a
-                leafref to path:
-                    ../../../../nsd:constituent-vnfd
-                    + [nsd:id = current()/../nsd:id-ref]
-                    + /nsd:vnfd-id-ref";
-
-           type leafref {
-              path "../../../../constituent-vnfd" +
-                   "[member-vnf-index = current()/../member-vnf-index-ref]" +
-                   "/vnfd-id-ref";
-           }
-         }
+          leaf vnfd-id-ref {
+            description
+              "A reference to a vnfd. This is a
+                  leafref to path:
+                      ../../../../nsd:constituent-vnfd
+                      + [nsd:id = current()/../nsd:id-ref]
+                      + /nsd:vnfd-id-ref";
 
-        leaf vnfd-connection-point-ref {
-          description
-            "A reference to a connection point name
-                in a vnfd. This is a leafref to path:
-                    /vnfd:vnfd-catalog/vnfd:vnfd
-                    + [vnfd:id = current()/../nsd:vnfd-id-ref]
-                    + /vnfd:connection-point/vnfd:name
-                NOTE: An issue with confd is preventing the
-                use of xpath. Seems to be an issue with leafref
-                to leafref, whose target is in a different module.
-                Once that is resolved this will switched to use
-                leafref";
-          // TODO: Keeping as string as this needs to be
-          // diffenent lvel based of if it is nsd-catalog or
-          // in nsr.
-          // type leafref {
-          //   path "../../../../../../vnfd:vnfd-catalog/vnfd:vnfd" +
-          //        "[vnfd:id = current()/../vnfd-id-ref]/" +
-          //        "vnfd:connection-point/vnfd:name";
-          // }
-          type string;
+            type leafref {
+                path "../../../../constituent-vnfd" +
+                    "[member-vnf-index = current()/../member-vnf-index-ref]" +
+                    "/vnfd-id-ref";
+            }
+          }
+
+          leaf vnfd-ingress-connection-point-ref {
+            description
+              "A reference to a connection point name
+                  in a vnfd. This is a leafref to path:
+                      /vnfd:vnfd-catalog/vnfd:vnfd
+                      + [vnfd:id = current()/../nsd:vnfd-id-ref]
+                      + /vnfd:connection-point/vnfd:name
+                  NOTE: An issue with confd is preventing the
+                  use of xpath. Seems to be an issue with leafref
+                  to leafref, whose target is in a different module.
+                  Once that is resolved this will switched to use
+                  leafref";
+            // TODO: Keeping as string as this needs to be
+            // diffenent lvel based of if it is nsd-catalog or
+            // in nsr.
+            // type leafref {
+            //   path "../../../../../../vnfd:vnfd-catalog/vnfd:vnfd" +
+            //        "[vnfd:id = current()/../vnfd-id-ref]/" +
+            //        "vnfd:connection-point/vnfd:name";
+            // }
+            type string;
+          }
+
+          leaf vnfd-egress-connection-point-ref {
+            description
+              "A reference to a connection point name
+                  in a vnfd. This is a leafref to path:
+                      /vnfd:vnfd-catalog/vnfd:vnfd
+                      + [vnfd:id = current()/../nsd:vnfd-id-ref]
+                      + /vnfd:connection-point/vnfd:name
+                  NOTE: An issue with confd is preventing the
+                  use of xpath. Seems to be an issue with leafref
+                  to leafref, whose target is in a different module.
+                  Once that is resolved this will switched to use
+                  leafref";
+            // TODO: Keeping as string as this needs to be
+            // diffenent lvel based of if it is nsd-catalog or
+            // in nsr.
+            // type leafref {
+            //   path "../../../../../../vnfd:vnfd-catalog/vnfd:vnfd" +
+            //        "[vnfd:id = current()/../vnfd-id-ref]/" +
+            //        "vnfd:connection-point/vnfd:name";
+            // }
+            type string;
+          }
         }
-      }
       } //rsp
 
       list classifier {
@@ -531,21 +554,12 @@ module nsd-base
 
     uses manotypes:ip-profile-list;
 
-    list initial-service-primitive {
-      description
-        "Initial set of service primitives for NSD.";
-      key "seq";
-
-      uses manotypes:event-config;
-    }
-
-    list terminate-service-primitive {
+    container ns-configuration {
       description
-        "Set of service primitives during
-         termination for NSD.";
-      key "seq";
+        "Information about NS configuration.";
 
-      uses manotypes:event-config;
+      uses manotypes:vca-configuration;
+      uses manotypes:vca-relations;
     }
 
     uses manotypes:input-parameter-xpath;