Update vnfc-relations
[osm/IM.git] / models / augments / kdu.yang
index 0cad701..bd8b8fb 100644 (file)
@@ -24,10 +24,6 @@ module kdu {
         prefix vnfd;
     }
 
-    import common-augments {
-        prefix common;
-    }
-
     grouping extended-ext-cpd {
         leaf k8s-cluster-net {
             description
@@ -40,60 +36,6 @@ module kdu {
         }
     }
 
-    grouping extended-kdu-configuration {
-        list kdu-configuration {
-            key "id";
-            leaf id {
-                description
-                  "Internal identifier for the KDU configuration";
-                type string;
-            }
-            uses common:vnfc-configuration;
-            uses common:vdu-config-access;
-
-            leaf-list blacklist-config-primitive {
-                description
-                  "List of blacklisted config primitives from the list of
-                   default kdu config primitives";
-
-                type enumeration {
-                    enum upgrade;
-                    enum rollback;
-                }
-            }
-        }
-    }
-
-    grouping extended-kdu-model {
-        list kdu-model {
-            key "id";
-
-            leaf id {
-                description
-                  "Internal identifier for the KDU model";
-                type string;
-            }
-
-            leaf kdu-model-type {
-                description
-                  "Indicates the KDU model, either as a helm-chart or as a juju-bundle.";
-
-                type enumeration {
-                    enum helm-chart;
-                    enum juju-bundle;
-                }
-            }
-
-            leaf kdu-model-locator {
-                description
-                  "Indicates the KDU model location, either as a path to a folder in the 
-                   package or as a URL where to fetch the model.";
-
-                type string;
-            }
-        }
-    }
-
     grouping extended-kdu {
         list kdu {
             description
@@ -111,6 +53,47 @@ module kdu {
                   "Description of the KDU.";
                 type string;
             }
+
+            choice kdu-model {
+                description
+                  "Indicates the KDU model, either as a helm-chart or as a juju-bundle.";
+
+                case helm-chart {
+                    leaf helm-chart {
+                        description
+                          "Helm chart that models the KDU, in any of the following ways:
+                           - <helm-repo>/<helm-chart>
+                           - <helm-chart folder under k8s_models folder in the package>
+                           - <helm-chart tgz file (w/ or w/o extension) under k8s_models folder in the package>
+                           - <URL_where_to_fetch_chart>
+                          ";
+                        type string;
+                    }
+
+                    leaf helm-version {
+                        description
+                          "Helm version to use for this helm-chart, v3 by default";
+                        type enumeration {
+                            enum v2;
+                            enum v3;
+                        }
+                        default v3;
+                    }
+                }
+
+                case juju-bundle {
+                    leaf juju-bundle {
+                        description
+                          "Juju bundle that models the KDU, in any of the following ways:
+                           - <juju-repo>/<juju-bundle>
+                           - <juju-bundle folder under k8s_models folder in the package>
+                           - <juju-bundle tgz file (w/ or w/o extension) under k8s_models folder in the package>
+                           - <URL_where_to_fetch_juju_bundle>
+                          ";
+                        type string;
+                    }
+                }
+            }
         }
 
         container k8s-cluster {
@@ -151,15 +134,46 @@ module kdu {
                 }
             }
         }
+
+        list service {
+          description
+            "List of Kubernetes services exposed by the KDU.
+             If empty, all services are assumed to be exposed in the CP associated to the first network
+             in k8s-cluster.nets.";
+          key name;
+
+          leaf name {
+            description "Name of the Kubernetes service exposed by he KDU model";
+            type string;
+          }
+
+          leaf mgmt-service {
+            description
+                "Flag to indicate that this Kubernetes service is a mgmt service
+                to be used for KDU configuration. Defaults to false (if no present).
+                All services with mgmt-service set to true will be passed to the execution
+                environment in charge of the KDU configuration.";
+            type boolean;
+            default false;
+          }
+
+          leaf external-connection-point-ref {
+            description
+              "String representing a leaf reference to the particular external connection point.
+               This field should match /etsi-nfv-vnfd:vnfd/etsi-nfv-vnfd:ext-cpd/etsi-nfv-vnfd:id
+              ";
+            type string;
+          }
+
+        }
+
     }
 
     augment "/vnfd:vnfd" {
         uses extended-kdu;
-        uses extended-kdu-configuration;
-        uses extended-kdu-model;
     }
 
     augment "/vnfd:vnfd/vnfd:ext-cpd/vnfd:cp-connection" {
         uses extended-ext-cpd;
     }
-}
\ No newline at end of file
+}