Feature 10911-Vertical scaling of VM instances from OSM
[osm/NBI.git] / osm_nbi / validation.py
index 7e50aa9..6ed6fba 100644 (file)
@@ -449,7 +449,7 @@ ns_update = {
         "nsInstanceId": id_schema,
         "timeout_ns_update": integer1_schema,
         "updateType": {
-            "enum": ["CHANGE_VNFPKG", "REMOVE_VNF", "MODIFY_VNF_INFORMATION"]
+            "enum": ["CHANGE_VNFPKG", "REMOVE_VNF", "MODIFY_VNF_INFORMATION", "OPERATE_VNF"]
         },
         "modifyVnfInfoData": {
             "type": "object",
@@ -468,6 +468,24 @@ ns_update = {
             },
             "required": ["vnfInstanceId", "vnfdId"],
         },
+        "operateVnfData": {
+            "type": "object",
+            "properties": {
+                "vnfInstanceId": id_schema,
+                "changeStateTo": name_schema,
+                "additionalParam": {
+                    "type": "object",
+                    "properties": {
+                        "run-day1": bool_schema,
+                        "vdu_id": name_schema,
+                        "count-index": integer0_schema,
+                    },
+                    "required": ["vdu_id", "count-index"],
+                    "additionalProperties": False,
+                }
+            },
+            "required": ["vnfInstanceId", "changeStateTo"],
+        }
     },
     "required": ["updateType"],
     "additionalProperties": False,
@@ -595,6 +613,29 @@ ns_heal = {
     "additionalProperties": False,
 }
 
+ns_verticalscale = {
+    "title": "vertial scale input schema",
+    "$schema": "http://json-schema.org/draft-04/schema#",
+    "type": "object",
+    "properties": {
+        "lcmOperationType": string_schema,
+        "nsInstanceId": id_schema,
+        "vnfInstanceId": id_schema,
+        "migrateToHost": string_schema,
+        "vdu": {
+            "type": "object",
+                "properties": {
+                    "vduId": name_schema,
+                    "vduCountIndex": integer0_schema,
+                },
+                "required": ["vduId"],
+                "additionalProperties": False,
+        },
+    },
+    "required": ["vnfInstanceId"],
+    "additionalProperties": False
+}
+
 schema_version = {"type": "string", "enum": ["1.0"]}
 schema_type = {"type": "string"}
 vim_type = shortname_schema  # {"enum": ["openstack", "openvim", "vmware", "opennebula", "aws", "azure", "fos"]}