X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FNBI.git;a=blobdiff_plain;f=osm_nbi%2Fvalidation.py;h=f6b93a5c4b940dbee23451da307bf31fc1a951ec;hp=f81f45ca1ad5d934ab14346801ab28154dbf6f27;hb=d125caf630021538f19aadab045b5d17def67cdd;hpb=36ec86019fa668dddbbe0cf9d9ec53b9ea6569cf diff --git a/osm_nbi/validation.py b/osm_nbi/validation.py index f81f45c..f6b93a5 100644 --- a/osm_nbi/validation.py +++ b/osm_nbi/validation.py @@ -1,5 +1,18 @@ # -*- coding: utf-8 -*- +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from jsonschema import validate as js_v, exceptions as js_e from http import HTTPStatus @@ -193,6 +206,7 @@ ns_instantiate = { "properties": { "lcmOperationType": string_schema, "nsInstanceId": id_schema, + "netsliceInstanceId": id_schema, "nsName": name_schema, "nsDescription": {"oneOf": [description_schema, {"type": "null"}]}, "nsdId": id_schema, @@ -560,6 +574,38 @@ nbi_edit_input_schemas = { "pdus": pdu_edit_schema, } +# NETSLICE SCHEMAS +nsi_instantiate = { + "title": "netslice action instantiate input schema", + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "properties": { + "lcmOperationType": string_schema, + "nsiInstanceId": id_schema, + "nsiName": name_schema, + "nsiDescription": {"oneOf": [description_schema, {"type": "null"}]}, + "nstdId": string_schema, + "vimAccountId": id_schema, + "ssh_keys": {"type": "string"}, + "nsi_id": id_schema, + "ns": { + "type": "array", + "minItems": 1, + "items": ns_instantiate + }, + }, + "required": ["nsiName", "nstdId", "vimAccountId"], + "additionalProperties": False +} + +nsi_action = { + +} + +nsi_terminate = { + +} + class ValidationError(Exception): def __init__(self, message, http_code=HTTPStatus.UNPROCESSABLE_ENTITY):