fix 1059. Provide rights parameters to ns_terminate for a nsi service
[osm/NBI.git] / osm_nbi / validation.py
index 9cfd9a6..9ff90db 100644 (file)
@@ -235,6 +235,8 @@ additional_params_for_vnf = {
         "properties": {
             "member-vnf-index": name_schema,
             "additionalParams": object_schema,
         "properties": {
             "member-vnf-index": name_schema,
             "additionalParams": object_schema,
+            "k8s-namespace": name_schema,
+            "config-units": integer1_schema,  # number of configuration units of this vnf, by default 1
             "additionalParamsForVdu": {
                 "type": "array",
                 "items": {
             "additionalParamsForVdu": {
                 "type": "array",
                 "items": {
@@ -242,8 +244,10 @@ additional_params_for_vnf = {
                     "properties": {
                         "vdu_id": name_schema,
                         "additionalParams": object_schema,
                     "properties": {
                         "vdu_id": name_schema,
                         "additionalParams": object_schema,
+                        "config-units": integer1_schema,   # number of configuration units of this vdu, by default 1
                     },
                     },
-                    "required": ["vdu_id", "additionalParams"],
+                    "required": ["vdu_id"],
+                    "minProperties": 2,
                     "additionalProperties": False,
                 },
             },
                     "additionalProperties": False,
                 },
             },
@@ -254,8 +258,12 @@ additional_params_for_vnf = {
                     "properties": {
                         "kdu_name": name_schema,
                         "additionalParams": object_schema,
                     "properties": {
                         "kdu_name": name_schema,
                         "additionalParams": object_schema,
+                        "kdu_model": name_schema,
+                        "k8s-namespace": name_schema,
+                        "config-units": integer1_schema,    # number of configuration units of this knf, by default 1
                     },
                     },
-                    "required": ["kdu_name", "additionalParams"],
+                    "required": ["kdu_name"],
+                    "minProperties": 2,
                     "additionalProperties": False,
                 },
             },
                     "additionalProperties": False,
                 },
             },
@@ -283,6 +291,8 @@ ns_instantiate = {
         "placement-constraints": object_schema,
         "additionalParamsForNs": object_schema,
         "additionalParamsForVnf": additional_params_for_vnf,
         "placement-constraints": object_schema,
         "additionalParamsForNs": object_schema,
         "additionalParamsForVnf": additional_params_for_vnf,
+        "config-units": integer1_schema,    # number of configuration units of this ns, by default 1
+        "k8s-namespace": name_schema,
         "ssh_keys": {"type": "array", "items": {"type": "string"}},
         "timeout_ns_deploy": integer1_schema,
         "nsr_id": id_schema,
         "ssh_keys": {"type": "array", "items": {"type": "string"}},
         "timeout_ns_deploy": integer1_schema,
         "nsr_id": id_schema,
@@ -360,6 +370,7 @@ ns_terminate = {
         "autoremove": bool_schema,
         "timeout_ns_terminate": integer1_schema,
         "skip_terminate_primitives": bool_schema,
         "autoremove": bool_schema,
         "timeout_ns_terminate": integer1_schema,
         "skip_terminate_primitives": bool_schema,
+        "netsliceInstanceId": id_schema,
     },
     "additionalProperties": False
 }
     },
     "additionalProperties": False
 }
@@ -377,6 +388,7 @@ ns_action = {   # TODO for the moment it is only contemplated the vnfd primitive
         "vdu_count_index": integer0_schema,
         "kdu_name": name_schema,
         "primitive": name_schema,
         "vdu_count_index": integer0_schema,
         "kdu_name": name_schema,
         "primitive": name_schema,
+        "timeout_ns_action": integer1_schema,
         "primitive_params": {"type": "object"},
     },
     "required": ["primitive", "primitive_params"],   # TODO add member_vnf_index
         "primitive_params": {"type": "object"},
     },
     "required": ["primitive", "primitive_params"],   # TODO add member_vnf_index
@@ -390,6 +402,7 @@ ns_scale = {   # TODO for the moment it is only VDU-scaling
         "lcmOperationType": string_schema,
         "nsInstanceId": id_schema,
         "scaleType": {"enum": ["SCALE_VNF"]},
         "lcmOperationType": string_schema,
         "nsInstanceId": id_schema,
         "scaleType": {"enum": ["SCALE_VNF"]},
+        "timeout_ns_scale": integer1_schema,
         "scaleVnfData": {
             "type": "object",
             "properties": {
         "scaleVnfData": {
             "type": "object",
             "properties": {