10d934738f6466bb4a6e89849e9d604c271c6961
[vfc/gvnfm/vnflcm.git] / lcm / lcm / nf / serializers / affected_vnfcs.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 ]
27
28
29 class AffectedVnfcsSerializer(serializers.Serializer):
30     id = serializers.UUIDField(
31         help_text="Identifier of the Vnfc instance, identifying the " +
32         "applicable 'vnfcResourceInfo' entry in the 'VnfInstance' data type",
33         required=True
34     )
35     vduId = serializers.UUIDField(
36         help_text="Identifier of the related VDU in the VNFD.",
37         required=True
38     )
39     changeType = serializers.ChoiceField(
40         help_text="Signals the type of change",
41         required=True,
42         choices=CHANGE_TYPES
43     )
44     affectedVnfcCpIds = serializers.ListField(
45         help_text="Identifiers of CP(s) of the VNFC instance that " +
46         "were affected by the change",
47         required=False,
48         child=serializers.UUIDField(required=True)
49     )
50     addedStorageResourceIds = serializers.ListField(
51         help_text="References to VirtualStorage resources that " +
52         "have been added",
53         required=False,
54         child=serializers.UUIDField()
55     )
56     removedStorageResourceIds = serializers.ListField(
57         help_text="References to VirtualStorage resources that " +
58         "have been removed.",
59         required=False,
60         child=serializers.UUIDField()
61     )
62     metadata = serializers.DictField(
63         help_text="Metadata about this resource. ",
64         required=False,
65         allow_null=True)
66     computeResource = ResourceHandleSerializer(
67         help_text="Reference to the VirtualCompute resource.",
68         required=True,
69         allow_null=False)