1 # Copyright (c) 2019, CMCC Technologies Co., Ltd.
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
7 # http://www.apache.org/licenses/LICENSE-2.0
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
15 from rest_framework import serializers
18 class ScaleInfoSerializer(serializers.Serializer):
19 aspectId = serializers.CharField(help_text="Identifier of the scaling aspect.", required=True)
20 scaleLevel = serializers.IntegerField(help_text="Indicates the scale level.", required=True, min_value=0)
23 class ScaleVnfToLevelRequestSerializer(serializers.Serializer):
24 instantiationLevelId = serializers.CharField(help_text="Identifier of the target instantiation level of"
25 "the current deployment flavour to which the VNF is"
26 "requested to be scaled.", required=False,
28 scaleInfo = ScaleInfoSerializer(help_text="For each scaling aspect of the current deployment flavour,"
29 "indicates the target scale level to which the VNF is to be"
31 additionalParams = serializers.DictField(help_text="Additional parameters passed by the NFVO as input"
32 "to the scaling process,", required=False, allow_null=True,
33 child=serializers.CharField(help_text="KeyValue Pairs",
37 class NfOperateJobSerializer(serializers.Serializer):
38 jobId = serializers.CharField(help_text="ID of NF operate job", required=True)