Add GET /vnf_lcm_op_occs API in GVNFM
[vfc/gvnfm/vnflcm.git] / lcm / lcm / nf / serializers / affected_storages.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
20 CHANGE_TYPES = [
21     "ADDED",
22     "REMOVED",
23     "MODIFIED",
24     "TEMPORARY"
25 ]
26
27
28 class AffectedStoragesSerializer(serializers.Serializer):
29     id = serializers.UUIDField(
30         help_text="Identifier of the Storage instance, identifying the " +
31         "applicable 'virtualStorageResourceInfo' entry in the 'VnfInstance' data type",
32         required=True
33     )
34     virtualStorageDescId = serializers.UUIDField(
35         help_text="Identifier of the related VirtualStorage descriptor " +
36         "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     metadata = serializers.DictField(
45         help_text="Metadata about this resource. ",
46         required=False,
47         allow_null=True)
48     storageResource = ResourceHandleSerializer(
49         help_text="Reference to the VirtualStorage resource.",
50         required=True,
51         allow_null=False)