Change for SDN creation parameters
[osm/NBI.git] / osm_nbi / validation.py
index fe574e3..c4f6fb7 100644 (file)
@@ -221,11 +221,35 @@ additional_params_for_vnf = {
         "properties": {
             "member-vnf-index": name_schema,
             "additionalParams": object_schema,
+            "additionalParamsForVdu": {
+                "type": "array",
+                "items": {
+                    "type": "object",
+                    "properties": {
+                        "vdu_id": name_schema,
+                        "additionalParams": object_schema,
+                    },
+                    "required": ["vdu_id", "additionalParams"],
+                    "additionalProperties": False,
+                },
+            },
+            "additionalParamsForKdu": {
+                "type": "array",
+                "items": {
+                    "type": "object",
+                    "properties": {
+                        "kdu_name": name_schema,
+                        "additionalParams": object_schema,
+                    },
+                    "required": ["kdu_name", "additionalParams"],
+                    "additionalProperties": False,
+                },
+            },
         },
-        "required": ["member-vnf-index", "additionalParams"],
+        "required": ["member-vnf-index"],
+        "minProperties": 2,
         "additionalProperties": False
     }
-
 }
 
 ns_instantiate = {
@@ -456,21 +480,24 @@ wim_account_new_schema = {
 
 sdn_properties = {
     "name": name_schema,
+    "type": {"type": "string"},
+    "url": {"type": "string"},
+    "user": shortname_schema,
+    "password": passwd_schema,
+    "config": {"type": "object"},
     "description": description_schema,
+    # The folowing are deprecated. Maintanied for backward compatibility
     "dpid": dpid_Schema,
     "ip": ip_schema,
     "port": port_schema,
-    "type": {"type": "string", "enum": ["opendaylight", "floodlight", "onos"]},
     "version": {"type": "string", "minLength": 1, "maxLength": 12},
-    "user": shortname_schema,
-    "password": passwd_schema
 }
 sdn_new_schema = {
     "title": "sdn controller information schema",
     "$schema": "http://json-schema.org/draft-04/schema#",
     "type": "object",
     "properties": sdn_properties,
-    "required": ["name", "port", 'ip', 'dpid', 'type'],
+    "required": ["name", 'type'],
     "additionalProperties": False
 }
 sdn_edit_schema = {
@@ -563,7 +590,7 @@ k8scluster_edit_schema = {
 }
 
 # K8s Repos
-k8srepo_types = {"enum": ["chart", "bundle"]}
+k8srepo_types = {"enum": ["helm-chart", "juju-bundle"]}
 k8srepo_properties = {
     "name": name_schema,
     "description": description_schema,