X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FNBI.git;a=blobdiff_plain;f=osm_nbi%2Fvalidation.py;h=fcd3048e32cbeafcca8d36853c6a2794a4714bbc;hp=761ee2089fe2e81a9c35753ec4c7a1d60706a858;hb=fe598fe1bcb93d51b5c7bb0373bc06d74e5bf92f;hpb=3a144c99f5ef2f73a3995081ea18d776300356e1 diff --git a/osm_nbi/validation.py b/osm_nbi/validation.py index 761ee20..fcd3048 100644 --- a/osm_nbi/validation.py +++ b/osm_nbi/validation.py @@ -503,6 +503,75 @@ sdn_external_port_schema = { "required": ["port"] } +# K8s Clusters +k8scluster_nets_schema = { + "title": "k8scluster nets input schema", + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "patternProperties": {".": string_schema}, + "minProperties": 1, + "additionalProperties": False +} +k8scluster_new_schema = { + "title": "k8scluster creation input schema", + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "properties": { + "schema_version": schema_version, + "schema_type": schema_type, + "name": name_schema, + "description": description_schema, + "credentials": object_schema, + "vim_account": id_schema, + "k8s_version": string_schema, + "nets": k8scluster_nets_schema, + "namespace": name_schema, + "cni": nameshort_list_schema, + }, + "required": ["name", "credentials", "vim_account", "k8s_version", "nets"], + "additionalProperties": False +} +k8scluster_edit_schema = { + "title": "vim_account edit input schema", + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "properties": { + "name": name_schema, + "description": description_schema, + "credentials": object_schema, + "vim_account": id_schema, + "k8s_version": string_schema, + "nets": k8scluster_nets_schema, + "namespace": name_schema, + "cni": nameshort_list_schema, + }, + "additionalProperties": False +} + +# K8s Repos +k8srepo_types = {"enum": ["chart", "bundle"]} +k8srepo_properties = { + "name": name_schema, + "description": description_schema, + "type": k8srepo_types, + "url": description_schema, +} +k8srepo_new_schema = { + "title": "k8scluster creation input schema", + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "properties": k8srepo_properties, + "required": ["name", "type", "url"], + "additionalProperties": False +} +k8srepo_edit_schema = { + "title": "vim_account edit input schema", + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "properties": k8srepo_properties, + "additionalProperties": False +} + # PDUs pdu_interface = { "type": "object", @@ -635,7 +704,8 @@ user_edit_schema = { } # PROJECTS -topics_with_quota = ["vnfds", "nsds", "nsts", "pdus", "nsrs", "nsis", "vim_accounts", "wim_accounts", "sdns"] +topics_with_quota = ["vnfds", "nsds", "nsts", "pdus", "nsrs", "nsis", "vim_accounts", "wim_accounts", "sdns", + "k8sclusters", "k8srepos"] project_new_schema = { "$schema": "http://json-schema.org/draft-04/schema#", "title": "New project schema for administrators",