rel3 IM fixes - removed references to rw-pb and corrected config-primitive instead...
[osm/SO.git] / models / plugins / yang / mano-types.yang
index a58492e..8950c7a 100644 (file)
@@ -191,8 +191,8 @@ module mano-types
       }
     }
   }
-
 grouping image-properties {
+  
+ grouping image-properties {
     leaf image {
       description
             "Image name for the software image.
@@ -214,117 +214,139 @@ module mano-types
     }
   }
 
-  grouping vnf-configuration {
-    container vnf-configuration {
-      description
-          "Information about the VNF configuration. Note:
-           If the NS contains multiple instances of the
-           same VNF, each instance could have a different
-           configuration.";
 
-      choice config-method {
-        description
-            "Defines the configuration method for the VNF.";
-        case script {
+  grouping vca-relationships {
+    container vca-relationships {
+      list relation {
+        description "List of relations between VCA componets.";
+
+        key "requires provides";
+
+        leaf requires {
           description
-              "Use custom script for configuring the VNF.
-               This script is executed in the context of
-               Orchestrator (The same system and environment
-               as the Launchpad).";
-          container script {
-            leaf script-type {
-              description
-                  "Script type - currently supported - Scripts confirming to Rift CA plugin";
-              type enumeration {
-                enum rift;
-              }
-            }
-          }
+            "Name of the required relation.";
+          type string;
         }
 
-        case juju {
+        leaf provides {
           description
-            "Configure the VNF through Juju.";
-          container juju {
-            leaf charm {
-              description "Juju charm to use with the VNF.";
-              type string;
+            "Name of the provided relation.";
+          type string;
+        }
+      }
+    }
+  }
+
+  grouping vca-configuration {
+    description
+        "Information about the VNF or VDU configuration. Note:
+         If the NS contains multiple instances of the
+         same VNF or VDU, each instance could have a different
+         configuration.";
+
+    choice config-method {
+      description
+          "Defines the configuration method for the VNF or VDU.";
+      case script {
+        description
+            "Use custom script for configuring the VNF or VDU.
+             This script is executed in the context of
+             Orchestrator (The same system and environment
+             as the Launchpad).";
+        container script {
+          leaf script-type {
+            description
+                "Script type - currently supported - Scripts confirming to Rift CA plugin";
+            type enumeration {
+              enum rift;
             }
           }
         }
       }
 
-      list config-primitive {
+      case juju {
         description
-          "List of config primitives supported by the
-          configuration agent for this VNF.";
-        key "name";
-
-        leaf name {
-          description
-            "Name of the config primitive.";
-          type string;
+          "Configure the VNF or VDU through Juju.";
+        container juju {
+          leaf charm {
+            description "Juju charm to use with the VNF or VDU.";
+            type string;
+          }
+          uses manotypes:vca-relationships;
         }
+      }
+    }
 
-        list parameter {
-          description
-            "List of parameters to the config primitive.";
-          key "name";
-          uses primitive-parameter;
-        }
+    list config-primitive {
+      description
+        "List of config primitives supported by the
+        configuration agent for this VNF or VDU.";
+      key "name";
 
-        leaf user-defined-script {
-          description
-            "A user defined script. If user defined script is defined,
-             the script will be executed using bash";
-          type string;
-        }
+      leaf name {
+        description
+          "Name of the config primitive.";
+        type string;
       }
 
-      list initial-config-primitive {
+      list parameter {
         description
-          "Initial set of configuration primitives.";
-        key "seq";
-        leaf seq {
-          description
-              "Sequence number for the configuration primitive.";
-          type uint64;
-        }
+          "List of parameters to the config primitive.";
+        key "name";
+        uses primitive-parameter;
+      }
 
-        choice primitive-type {
-          case primitive-definition {
-            leaf name {
-              description
-                "Name of the configuration primitive.";
-              type string;
-            }
+      leaf user-defined-script {
+        description
+          "A user defined script. If user defined script is defined,
+           the script will be executed using bash";
+        type string;
+      }
+    }
 
-            uses primitive-parameter-value;
+    list initial-config-primitive {
+      description
+        "Initial set of configuration primitives.";
+      key "seq";
+      leaf seq {
+        description
+          "Sequence number for the configuration primitive.";
+        type uint64;
+      }
 
-            leaf user-defined-script {
-              description
-                "A user defined script.";
-              type string;
-            }
+      choice primitive-type {
+        case primitive-definition {
+          leaf name {
+            description
+              "Name of the configuration primitive.";
+            type string;
+          }
+
+          uses primitive-parameter-value;
+
+          leaf user-defined-script {
+            description
+              "A user defined script.";
+            type string;
           }
         }
       }
     }
-  } // END - grouping vnf-configuration
+  } // END - grouping vca-configuration
 
   typedef virtual-link-type {
     description
         "Type of virtual link
          ELAN: A multipoint service connecting a set of VNFs
-         // ELINE: For a simple point to point connection
+         ELINE: For a simple point to point connection
          //        between a VNF and the existing network.
          // ETREE: A multipoint service connecting one or
          //        more roots and a set of leaves, but
          //        preventing inter-leaf communication.";
     type enumeration {
       enum ELAN;
+      enum ELINE;
       // enum ETREE;
-      // enum ELINE;
     }
   }
 
@@ -981,24 +1003,6 @@ module mano-types
         type string;
       }
 
-      leaf overlay-type {
-        description
-            "Type of the overlay network.
-             LOCAL - Provider network implemented in a single compute node
-             FLAT - Provider network shared by all tenants
-             VLAN - Provider network implemented using 802.1Q tagging
-             VXLAN - Provider networks implemented using RFC 7348
-             GRE - Provider networks implemented using GRE tunnels
-             PORTGROUP - Provider networks implemented for VIO support";
-        type enumeration {
-          enum LOCAL;
-          enum FLAT;
-          enum VLAN;
-          enum VXLAN;
-          enum GRE;
-          enum PORTGROUP;
-        }
-      }
       leaf segmentation_id {
         description
             "ID of segregated virtual networks";