Add operate api to GVNFM
[vfc/gvnfm/vnflcm.git] / lcm / lcm / nf / serializers / operate_vnf_req.py
1 # Copyright (C) 2018 Verizon. All Rights Reserved.
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 OperateVnfRequestSerializer(serializers.Serializer):
19     changeStateTo = serializers.ChoiceField(
20         help_text="The desired operational state (i.e. started or stopped) to change the VNF to.",
21         choices=["STARTED", "STOPPED"],
22         required=True)
23     stopType = serializers.ChoiceField(
24         help_text="It signals whether forceful or graceful stop is requested.",
25         choices=["FORCEFUL", "GRACEFUL"],
26         required=False)
27     gracefulStopTimeout = serializers.IntegerField(
28         help_text="The time interval to wait for the VNF to be taken out of service during graceful stop.",
29         required=False)
30     additionalParams = serializers.DictField(
31         help_text="Additional input parameters for the operate process, \
32         specific to the VNF being operated, \
33         as declared in the VNFD as part of OperateVnfOpConfig.",
34         child=serializers.CharField(help_text="KeyValue Pairs", allow_blank=True),
35         required=False,
36         allow_null=True)