X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FNBI.git;a=blobdiff_plain;f=osm_nbi%2Fvalidation.py;h=69c42ae2ee3fdce0dab6e1248356687d446e01da;hp=f4823f6f8932ba32a7ba18eab9d601d1bc7256cc;hb=f318b3045ae5e005f6241ec170ea943c92cc67d6;hpb=c67b0e994fe4a74098158e6340125e4c88cdb950 diff --git a/osm_nbi/validation.py b/osm_nbi/validation.py index f4823f6..69c42ae 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 = { @@ -241,9 +265,12 @@ ns_instantiate = { "nsdId": id_schema, "vimAccountId": id_schema, "wimAccountId": {"OneOf": [id_schema, bool_schema, null_schema]}, + "placement-engine": string_schema, + "placement-constraints": object_schema, "additionalParamsForNs": object_schema, "additionalParamsForVnf": additional_params_for_vnf, "ssh_keys": {"type": "array", "items": {"type": "string"}}, + "timeout_ns_deploy": integer1_schema, "nsr_id": id_schema, "vduImage": name_schema, "vnf": { @@ -363,7 +390,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 +437,7 @@ vim_account_new_schema = { "additionalProperties": False } -wim_type = {"enum": ["tapi", "onos", "odl", "dynpac", "fake"]} +wim_type = shortname_schema # {"enum": ["ietfl2vpn", "onos", "odl", "dynpac", "fake"]} wim_account_edit_schema = { "title": "wim_account edit input schema", @@ -456,21 +483,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 +593,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, @@ -843,6 +873,7 @@ nsi_instantiate = { "nsiDescription": {"oneOf": [description_schema, null_schema]}, "nstId": string_schema, "vimAccountId": id_schema, + "timeout_nsi_deploy": integer1_schema, "ssh_keys": {"type": "string"}, "nsi_id": id_schema, "additionalParamsForNsi": object_schema,