Simple strategy to allow address pairs for virtual IP
[osm/IM.git] / models / yang / nsd.yang
index 4a88eac..e80654f 100644 (file)
@@ -20,7 +20,7 @@
 
 module nsd
 {
-  namespace "urn:ietf:params:xml:ns:yang:nfvo:nsd";
+  namespace "urn:etsi:osm:yang:nsd";
   prefix "nsd";
 
   import vnfd {
@@ -35,6 +35,10 @@ module nsd
     prefix "manotypes";
   }
 
+  import ietf-inet-types {
+    prefix "inet";
+  }
+
   revision 2017-02-28 {
     description
       "Update model to support projects.";
@@ -61,7 +65,7 @@ module nsd
           "Identifier/index for the VNFD. This separate id
            is required to ensure that multiple VNFs can be
            part of single NS";
-        type uint64;
+        type string;
       }
 
       leaf vnfd-id-ref {
@@ -100,6 +104,15 @@ module nsd
           }
         }
 
+        leaf vnfd-connection-point-ref {
+          description "A reference to a connection point name";
+          type leafref {
+            path "/vnfd:vnfd-catalog/vnfd:vnfd" +
+                 "[vnfd:id = current()/../vnfd-id-ref]/" +
+                 "vnfd:connection-point/vnfd:name";
+          }
+        }
+
         leaf vnfd-id-ref {
           description
               "A reference to a VNFD";
@@ -110,14 +123,11 @@ module nsd
           }
         }
 
-        leaf vnfd-connection-point-ref {
-          description "A reference to a connection point name";
-          type leafref {
-            path "/vnfd:vnfd-catalog/vnfd:vnfd" +
-                 "[vnfd:id = current()/../vnfd-id-ref]/" +
-                 "vnfd:connection-point/vnfd:name";
-          }
+        leaf ip-address {
+          description "IP address of the connection point";
+          type inet:ip-address;
         }
+
       }
     }
   }
@@ -217,86 +227,13 @@ module nsd
     }
   }
 
-  grouping nsd-service-primitive {
-   list service-primitive {
-      description
-          "Network service level service primitives.";
-
-      key "name";
-
-      leaf name {
-        description
-            "Name of the service primitive.";
-        type string;
-      }
-
-      list parameter {
-        description
-            "List of parameters for the service primitive.";
-
-        key "name";
-        uses manotypes:primitive-parameter;
-      }
-
-      uses manotypes:ui-primitive-group;
-
-      list vnf-primitive-group {
-        description
-            "List of service primitives grouped by VNF.";
-
-        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 vnfd-id-ref {
-          description
-              "A reference to a VNFD. This is a leafref";
-
-          type leafref {
-             path "../../../constituent-vnfd" +
-                "[member-vnf-index = current()/../member-vnf-index-ref]" + "/vnfd-id-ref";
-          }
-        }
-
-        leaf vnfd-name {
-          description
-              "Name of the VNFD";
-          type leafref {
-              path "/vnfd:vnfd-catalog/vnfd:vnfd"
-                    + "[vnfd:id = current()/../vnfd-id-ref]"
-                    + "/vnfd:name";
-          }
-        }
-
-        list primitive {
-          key "index";
-
-          leaf index {
-            description "Index of this primitive";
-            type uint32;
-          }
-
-          leaf name {
-            description "Name of the primitive in the VNF primitive ";
-            type string;
-          }
-        }
-      }
+  container nsd-catalog {
 
-      leaf user-defined-script {
-        description
-            "A user defined script.";
-        type string;
-      }
+    leaf schema-version {
+      description "Schema version for the NSD. If unspecified, it assumes v3.0";
+      type string;
+      default "v3.0";
     }
-  }
-
-  container nsd-catalog {
 
     list nsd {
       key id;
@@ -312,8 +249,6 @@ module nsd
       uses nsd-vnf-dependency;
 
       uses nsd-monitoring-param;
-
-      uses nsd-service-primitive;
     }
   }
 }