vfclcm upgrade from python2 to python3
[vfc/gvnfm/vnflcm.git] / lcm / lcm / nf / serializers / affected_vls.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
16 from rest_framework import serializers
17
18 from .resource_handle import ResourceHandleSerializer
19 from lcm.nf.const import CHANGE_TYPE
20
21 CHANGE_TYPES = [
22     CHANGE_TYPE.ADDED,
23     CHANGE_TYPE.REMOVED,
24     CHANGE_TYPE.MODIFIED,
25     CHANGE_TYPE.TEMPORARY,
26     CHANGE_TYPE.LINK_PORT_ADDED,
27     CHANGE_TYPE.LINK_PORT_REMOVED
28 ]
29
30
31 class AffectedVLsSerializer(serializers.Serializer):
32     id = serializers.UUIDField(
33         help_text="Identifier of the virtual link instance, identifying " +
34         "the applicable 'vnfVirtualLinkResourceInfo' ",
35         required=True
36     )
37     virtualLinkDescId = serializers.UUIDField(
38         help_text="Identifier of the related VLD in the VNFD.",
39         required=True
40     )
41     changeType = serializers.ChoiceField(
42         help_text="Signals the type of change",
43         required=True,
44         choices=CHANGE_TYPES
45     )
46     metadata = serializers.DictField(
47         help_text="Metadata about this resource. ",
48         required=False,
49         allow_null=True)
50     networkResource = ResourceHandleSerializer(
51         help_text="Reference to the VirtualNetwork resource.",
52         required=True,
53         allow_null=False)