Fix bug 682: NSD cross references between vnffgd classifier and rsp not validated
[osm/NBI.git] / osm_nbi / validation.py
index c3e37f7..fe574e3 100644 (file)
@@ -172,6 +172,17 @@ ip_profile_update_schema = {
     "additionalProperties": False
 }
 
     "additionalProperties": False
 }
 
+provider_network_schema = {
+    "title": "provider network validation schame",
+    "$schema": "http://json-schema.org/draft-04/schema#",
+    "type": "object",
+    "properties": {
+        "physical-network": name_schema,
+        "segmentation-id": name_schema,
+    },
+    "additionalProperties": False
+}
+
 ns_instantiate_internal_vld = {
     "title": "ns action instantiate input schema for vdu",
     "$schema": "http://json-schema.org/draft-04/schema#",
 ns_instantiate_internal_vld = {
     "title": "ns action instantiate input schema for vdu",
     "$schema": "http://json-schema.org/draft-04/schema#",
@@ -181,6 +192,7 @@ ns_instantiate_internal_vld = {
         "vim-network-name": name_schema,
         "vim-network-id": name_schema,
         "ip-profile": ip_profile_update_schema,
         "vim-network-name": name_schema,
         "vim-network-id": name_schema,
         "ip-profile": ip_profile_update_schema,
+        "provider-network": provider_network_schema,
         "internal-connection-point": {
             "type": "array",
             "minItems": 1,
         "internal-connection-point": {
             "type": "array",
             "minItems": 1,
@@ -270,6 +282,7 @@ ns_instantiate = {
                     "ns-net": object_schema,
                     "wimAccountId": {"OneOf": [id_schema, bool_schema, null_schema]},
                     "ip-profile": object_schema,
                     "ns-net": object_schema,
                     "wimAccountId": {"OneOf": [id_schema, bool_schema, null_schema]},
                     "ip-profile": object_schema,
+                    "provider-network": provider_network_schema,
                     "vnfd-connection-point-ref": {
                         "type": "array",
                         "minItems": 1,
                     "vnfd-connection-point-ref": {
                         "type": "array",
                         "minItems": 1,
@@ -350,7 +363,7 @@ ns_scale = {   # TODO for the moment it is only VDU-scaling
 
 schema_version = {"type": "string", "enum": ["1.0"]}
 schema_type = {"type": "string"}
 
 schema_version = {"type": "string", "enum": ["1.0"]}
 schema_type = {"type": "string"}
-vim_type = {"enum": ["openstack", "openvim", "vmware", "opennebula", "aws", "azure", "fos"]}
+vim_type = shortname_schema  # {"enum": ["openstack", "openvim", "vmware", "opennebula", "aws", "azure", "fos"]}
 
 vim_account_edit_schema = {
     "title": "vim_account edit input schema",
 
 vim_account_edit_schema = {
     "title": "vim_account edit input schema",
@@ -397,7 +410,7 @@ vim_account_new_schema = {
     "additionalProperties": False
 }
 
     "additionalProperties": False
 }
 
-wim_type = {"enum": ["tapi", "onos", "odl", "dynpac", "fake"]}
+wim_type = shortname_schema  # {"enum": ["tapi", "onos", "odl", "dynpac", "fake"]}
 
 wim_account_edit_schema = {
     "title": "wim_account edit input schema",
 
 wim_account_edit_schema = {
     "title": "wim_account edit input schema",
@@ -509,7 +522,7 @@ k8scluster_nets_schema = {
     "title": "k8scluster nets input schema",
     "$schema": "http://json-schema.org/draft-04/schema#",
     "type": "object",
     "title": "k8scluster nets input schema",
     "$schema": "http://json-schema.org/draft-04/schema#",
     "type": "object",
-    "patternProperties": {".": string_schema},
+    "patternProperties": {".": {"oneOf": [description_schema, null_schema]}},
     "minProperties": 1,
     "additionalProperties": False
 }
     "minProperties": 1,
     "additionalProperties": False
 }