X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FNBI.git;a=blobdiff_plain;f=osm_nbi%2Fvalidation.py;h=c4f6fb7e605e5f64db0a5133aaf7c112c716e6cb;hp=f4823f6f8932ba32a7ba18eab9d601d1bc7256cc;hb=7adaeb0a49340e8f46e82b6526bce4d6ecefd80e;hpb=c67b0e994fe4a74098158e6340125e4c88cdb950 diff --git a/osm_nbi/validation.py b/osm_nbi/validation.py index f4823f6..c4f6fb7 100644 --- a/osm_nbi/validation.py +++ b/osm_nbi/validation.py @@ -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 = { @@ -363,7 +387,7 @@ ns_scale = { # TODO for the moment it is only VDU-scaling 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", @@ -410,7 +434,7 @@ vim_account_new_schema = { "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", @@ -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,