d0fa1b11471cc31ec2836e22ecd054c642b075a8
[vfc/gvnfm/vnflcm.git] / lcm / lcm / nf / serializers / scale_vnf_to_level_request_serializer.py
1 # Copyright (c) 2019, CMCC Technologies Co., Ltd.
2
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
6
7 # http://www.apache.org/licenses/LICENSE-2.0
8
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.
14
15 from rest_framework import serializers
16
17
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)
21
22
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,
27                                                  allow_null=True)
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"
30                                               "scaled.", many=True)
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",
34                                                                          allow_blank=True))
35
36
37 class NfOperateJobSerializer(serializers.Serializer):
38     jobId = serializers.CharField(help_text="ID of NF operate job", required=True)