First set of OSM model changes for multi-disk/config-files/etc.
[osm/SO.git] / models / plugins / yang / mano-types.yang
index ec3d583..fa6f39c 100644 (file)
@@ -46,6 +46,13 @@ module mano-types
       enum JSON;
     }
   }
+  typedef package-type {
+      description "Type of descriptor being on-boarded";
+      type enumeration {
+        enum NSD;
+        enum VNFD;
+      }
+    }
 
   typedef parameter-data-type {
     type enumeration {
@@ -140,6 +147,37 @@ module mano-types
       type string;
     } 
   }
+  grouping initial-config {
+    leaf seq {
+      description
+          "Sequence number for the configuration primitive.";
+      type uint64;
+    }
+
+    leaf name {
+      description
+          "Name of the configuration primitive.";
+      type string;
+      mandatory "true";
+    }
+
+    leaf user-defined-script {
+      description
+          "A user defined script.";
+      type string;
+    }
+
+    list parameter {
+      key "name";
+      leaf name {
+        type string;
+      }
+
+      leaf value {
+        type string;
+      }
+    }
+  }
 
   grouping vnf-configuration {
     container vnf-configuration {
@@ -289,30 +327,9 @@ module mano-types
       list initial-config-primitive {
         rwpb:msg-new InitialConfigPrimitive;
         description
-            "Initial set of configuration primitives.";
+          "Initial set of configuration primitives.";
         key "seq";
-        leaf seq {
-          description
-              "Sequence number for the configuration primitive.";
-          type uint64;
-        }
-
-        leaf name {
-          description 
-              "Name of the configuration primitive.";
-          type string;
-        }
-
-        list parameter {
-          key "name";
-          leaf name {
-            type string;
-          }
-
-          leaf value {
-            type string;
-          }
-        }
+        uses initial-config;
       }
 
       leaf config-template {
@@ -2032,9 +2049,9 @@ module mano-types
     }
   }
 
-  grouping custom-config-files {
+  grouping config-file {
     description "Grouping for files needed to be mounted into an additional drive";
-    list custom-config-files {
+    list config-file {
       description
           "List of configuration files to be written on an additional drive";
       key "source";
@@ -2073,13 +2090,13 @@ module mano-types
     }
   }
 
-  grouping custom-boot-data {
+  grouping supplemental-boot-data {
     description "Grouping for custom vim data";
-    container custom-boot-data {
-      uses manotypes:custom-config-files;
+    container supplemental-boot-data {
+      uses manotypes:config-file;
       uses manotypes:custom-meta-data;
-      leaf custom-drive {
-        description "Some VIMs implement custom drives to host custom-files or meta-data";
+      leaf boot-data-drive {
+        description "Some VIMs implement additional drives to host config-files or meta-data";
         type boolean;
         default false;
       } 
@@ -2125,41 +2142,37 @@ module mano-types
       }
     }
 
-    container boot-params {
-      leaf boot-volume {
-        description "This flag indicates if this is boot volume or not";
-        type boolean;
-      }
-      leaf boot-priority {
-        description "Boot priority associated with volume";
-        type int32;
-      }
+    leaf boot-volume {
+      description "This flag indicates if this is boot volume or not";
+      type boolean;
     }
 
-    container guest-params {
-      description "Guest virtualization parameter associated with volume";
+    leaf boot-priority {
+      description "Boot priority associated with volume";
+      type int32;
+    }
 
-      leaf device_bus {
-        description "Type of disk-bus on which this disk is exposed to guest";
-        type enumeration {
-          enum ide;
-          enum usb;
-          enum virtio;
-          enum scsi;
-        }
+
+    leaf device_bus {
+      description "Type of disk-bus on which this disk is exposed to guest";
+      type enumeration {
+        enum ide;
+        enum usb;
+        enum virtio;
+        enum scsi;
       }
+    }
 
-      leaf device_type {
-        description "The type of device as exposed to guest";
-        type enumeration {
+    leaf device_type {
+      description "The type of device as exposed to guest";
+      type enumeration {
           enum disk;
           enum cdrom;
           enum floppy;
           enum lun;
-        }
       }
-
-      uses custom-meta-data;
     }
+
+    uses custom-meta-data;
   }
 }