From 796c783202f19fdf7637518a2e70e7afdf956992 Mon Sep 17 00:00:00 2001 From: laili Date: Mon, 20 Aug 2018 20:11:51 +0800 Subject: [PATCH] Ns descriptor related stuffs. Add nsd info serializer. Change-Id: Iadfea567ea535b17a691f2a1f5e066bf34fbff33 Issue-ID: VFC-1037 Signed-off-by: laili --- catalog/packages/serializers/nsd_info.py | 125 +++++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 catalog/packages/serializers/nsd_info.py diff --git a/catalog/packages/serializers/nsd_info.py b/catalog/packages/serializers/nsd_info.py new file mode 100644 index 00000000..de422000 --- /dev/null +++ b/catalog/packages/serializers/nsd_info.py @@ -0,0 +1,125 @@ +# Copyright 2018 ZTE Corporation. +# +# 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 rest_framework import serializers +from problem_details import ProblemDetailsSerializer +from _link import _LinkSerializer + + +class NsdInfoSerializer(serializers.Serializer): + id = serializers.CharField( + help_text='Identifier of the onboarded individual NS descriptor resource. \ + This identifier is allocated by the NFVO.', + required=True, + allow_null=False, + allow_blank=False + ) + nsdId = serializers.CharField( + help_text='This identifier, which is allocated by the NSD designer, \ + identifies the NSD in a globally unique way. \ + It is copied from the NSD content and shall be present after the NSD content is on-boarded.', + required=False, + allow_null=True, + allow_blank=True + ) + nsdName = serializers.CharField( + help_text='Name of the onboarded NSD. \ + This information is copied from the NSD content and shall be present after the NSD content is on-boarded.', + required=False, + allow_null=True, + allow_blank=True + ) + nsdVersion = serializers.CharField( # TODO: data type is version + help_text='Version of the on-boarded NSD. \ + This information is copied from the NSD content and shall be present after the NSD content is on-boarded.', + required=False, + allow_null=True, + allow_blank=True + ) + nsdDesigner = serializers.CharField( + help_text='Designer of the on-boarded NSD. \ + This information is copied from the NSD content and shall be present after the NSD content is on-boarded.', + required=False, + allow_null=True, + allow_blank=True + ) + nsdInvariantId = serializers.CharField( + help_text='This identifier, which is allocated by the NSD designer, \ + identifies an NSD in a version independent manner. \ + This information is copied from the NSD content and shall be present after the NSD content is on-boarded.', + required=False, + allow_null=True, + allow_blank=True + ) + vnfPkgIds = serializers.ListSerializer( + help_text='Identifies the VNF package for the VNFD referenced by the on-boarded NS descriptor resource.', + child=serializers.CharField(help_text="Identifier of the VNF package", allow_blank=True), + required=False, + allow_null=True, + allow_empty=True + ) + pnfdInfoIds = serializers.ListSerializer( + help_text='Identifies the PnfdInfo element for the PNFD referenced by the on-boarded NS descriptor resource.', + child=serializers.CharField(help_text="Identifier of the PnfdInfo element", allow_blank=True), + required=False, + allow_null=True, + allow_empty=True + ) + nestedNsdInfoIds = serializers.ListSerializer( + help_text='Identifies the NsdInfo element for the nested NSD referenced by the on-boarded NS descriptor resource.', + child=serializers.CharField(help_text="Identifier of the NsdInfo element", allow_blank=True), + required=False, + allow_null=True, + allow_empty=True + ) + nsdOnboardingState = serializers.ChoiceField( + help_text='Onboarding state of the individual NS descriptor resource.', + choices=['CREATED', 'UPLOADING', 'PROCESSING', 'ONBOARDED'], + required=True, + allow_null=False, + allow_blank=False + ) + onboardingFailureDetails = ProblemDetailsSerializer( + help_text='Failure details of current onboarding procedure. \ + It shall be present when the "nsdOnboardingState" attribute is CREATED and the uploading or processing fails in NFVO.', + required=False, + allow_null=True, + ) + nsdOperationalState = serializers.ChoiceField( + help_text='Operational state of the individual NS descriptor resource. \ + This attribute can be modified with the PATCH method.', + choices=['ENABLED', 'DISABLED'], + required=True, + allow_null=False, + allow_blank=False + ) + nsdUsageState = serializers.CharField( + help_text='Usage state of the individual NS descriptor resource.', + choices=['IN_USE', 'NOT_IN_USE'], + required=True, + allow_null=False, + allow_blank=False + ) + userDefinedData = serializers.DictField( + help_text='User defined data for the individual NS descriptor resource. \ + This attribute can be modified with the PATCH method.', + child=serializers.CharField(help_text='Key Value Pairs', allow_blank=True), + required=False, + allow_null=True + ) + _link = _LinkSerializer( + help_text='Links to resources related to this resource.', + required=True, + allow_null=False + ) -- 2.16.6