diff options
Diffstat (limited to 'genericparser/packages/serializers/nsd_info.py')
-rw-r--r-- | genericparser/packages/serializers/nsd_info.py | 161 |
1 files changed, 161 insertions, 0 deletions
diff --git a/genericparser/packages/serializers/nsd_info.py b/genericparser/packages/serializers/nsd_info.py new file mode 100644 index 0000000..2206f46 --- /dev/null +++ b/genericparser/packages/serializers/nsd_info.py @@ -0,0 +1,161 @@ +# 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 _LinkSerializer(serializers.Serializer): + self = LinkSerializer( + help_text="URI of this resource.", + required=True, + allow_null=False + ) + nsd_content = LinkSerializer( + help_text="Link to the NSD content resource.", + required=True, + allow_null=False + ) + + class Meta: + ref_name = "NSD_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.ChoiceField( + help_text="Usage state of the individual NS descriptor resource.", + choices=["IN_USE", "NOT_IN_USE"], + required=True, + allow_null=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 + ) + _links = _LinkSerializer( + help_text="Links to resources related to this resource.", + required=True, + allow_null=True # TODO: supposed to be False + ) |