Fix vfc-vnflcm pep8 E501 issue
[vfc/gvnfm/vnflcm.git] / lcm / lcm / nf / vnfs / serializers.py
1 # Copyright 2018 ZTE Corporation.
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 CreateVnfReqSerializer(serializers.Serializer):
19     vnfdId = serializers.CharField(help_text="vnfd Id", required=True)
20     vnfInstanceName = serializers.CharField(
21         help_text="vnf Instance Name", required=True)
22     vnfInstanceDescription = serializers.CharField(
23         help_text="vnf Instance Description", required=False, allow_null=True)
24
25
26 class CreateVnfRespSerializer(serializers.Serializer):
27     vnfInstanceId = serializers.CharField(
28         help_text="vnf Instance Id", required=True)
29
30
31 class ResourceSerializer(serializers.Serializer):
32     resourceId = serializers.CharField(help_text="resourceId", required=True)
33     vimId = serializers.CharField(help_text="vimId", required=True)
34
35
36 class VirtualStorageResourceInfoSerializer(serializers.Serializer):
37     virtualStorageInstanceId = serializers.CharField(
38         help_text="virtualStorageInstanceId", required=False, allow_null=True)
39     virtualStorageDescId = serializers.CharField(
40         help_text="virtualStorageDescId", required=False, allow_null=True)
41     storageResource = ResourceSerializer(
42         help_text="storageResource",
43         required=False,
44         allow_null=True)
45
46
47 class VirtualLinkResourceInfoSerializer(serializers.Serializer):
48     virtualLinkInstanceId = serializers.IntegerField(
49         help_text="virtualLinkInstanceId", required=False, allow_null=True)
50     virtualLinkDescId = serializers.IntegerField(
51         help_text="virtualLinkDescId", required=False, allow_null=True)
52     networkResource = ResourceSerializer(
53         help_text="networkResource",
54         required=False,
55         allow_null=True)
56
57
58 class VnfcResourceInfoSerializer(serializers.Serializer):
59     vnfcInstanceId = serializers.IntegerField(
60         help_text="vnfcInstanceId", required=False, allow_null=True)
61     vduId = serializers.IntegerField(
62         help_text="vduId",
63         required=False,
64         allow_null=True)
65     storageResourceIds = serializers.IntegerField(
66         help_text="storageResourceIds", required=False, allow_null=True)
67     computeResource = ResourceSerializer(
68         help_text="computeResource",
69         required=False,
70         allow_null=True)
71
72
73 class AccessInfoSerializer(serializers.Serializer):
74     tenant = serializers.CharField(help_text="tenant", required=True)
75     username = serializers.CharField(help_text="username", required=True)
76     password = serializers.CharField(help_text="password", required=True)
77
78
79 class InterfaceInfoSerializer(serializers.Serializer):
80     vimType = serializers.CharField(help_text="vimType", required=True)
81     apiVersion = serializers.CharField(help_text="apiVersion", required=True)
82     protocolType = serializers.ChoiceField(
83         help_text="protocolType", choices=[
84             'http', 'https'], required=True)
85
86
87 class VimInfoSerializer(serializers.Serializer):
88     vimInfoId = serializers.CharField(
89         help_text="vimInfoId",
90         required=False,
91         allow_null=True)
92     vimId = serializers.CharField(
93         help_text="vimId",
94         required=False,
95         allow_null=True)
96     interfaceEndpoint = serializers.CharField(
97         help_text="interfaceEndpoint", required=False, allow_null=True)
98     interfaceInfo = InterfaceInfoSerializer(
99         help_text="vimInfoId", required=False, allow_null=True)
100     accessInfo = AccessInfoSerializer(
101         help_text="accessInfo",
102         required=False,
103         allow_null=True)
104
105
106 class LinkPortsSerializer(serializers.Serializer):
107     resourceId = serializers.CharField(help_text="resourceId", required=True)
108     vimId = serializers.CharField(help_text="vimId", required=False)
109
110
111 class ResourceHandleSerializer(serializers.Serializer):
112     resourceId = serializers.CharField(help_text="resourceId", required=True)
113     vimId = serializers.CharField(help_text="vimId", required=False)
114     resourceProviderId = serializers.CharField(
115         help_text="resourceProviderId", required=False)
116
117
118 class ExtVirtualLinkInfoSerializer(serializers.Serializer):
119     extVirtualLinkId = serializers.CharField(
120         help_text="extVirtualLinkId", required=True)
121     resourceHandle = ResourceHandleSerializer(
122         help_text="iPAddress", required=True)
123     linkPorts = LinkPortsSerializer(
124         help_text="iPAddress", many=True, allow_null=True)
125
126
127 class L3AddressDataSerializer(serializers.Serializer):
128     iPAddressType = serializers.ChoiceField(
129         help_text="iPAddressType", choices=[
130             'IPv4', 'IPv6'], required=True)
131     iPAddress = serializers.CharField(help_text="iPAddress", required=True)
132
133
134 class NetworkAddressSerializer(serializers.Serializer):
135     addressType = serializers.ChoiceField(
136         help_text="addressType", choices=[
137             'MAC', 'IP'], required=True)
138     l2AddressData = serializers.CharField(
139         help_text="l2AddressData", required=False)
140     l3AddressData = L3AddressDataSerializer(
141         help_text="addresses", required=False)
142
143
144 class ExtCpInfoSerializer(serializers.Serializer):
145     cpInstanceId = serializers.CharField(
146         help_text="cpInstanceId",
147         required=False,
148         allow_null=True)
149     cpdId = serializers.IntegerField(help_text="cpdId", required=True)
150     numDynamicAddresses = serializers.IntegerField(
151         help_text="numDynamicAddresses", required=False, allow_null=True)
152     addresses = NetworkAddressSerializer(
153         help_text="addresses", many=True, allow_null=True)
154
155
156 class ScaleInfoSerializer(serializers.Serializer):
157     aspectId = serializers.CharField(help_text="aspectId", required=True)
158     scaleLevel = serializers.IntegerField(
159         help_text="scaleLevel", required=True)
160
161
162 class instantiatedVnfInfoSerializer(serializers.Serializer):
163     flavourId = serializers.CharField(
164         help_text="flavour Id",
165         required=True,
166         allow_null=True)
167     vnfState = serializers.ChoiceField(
168         help_text="vnf State",
169         choices=[
170             'STARTED',
171             'STOPPED'],
172         required=True,
173         allow_null=True)
174     scaleStatus = ScaleInfoSerializer(help_text="scaleStatus", many=True)
175     extCpInfo = ExtCpInfoSerializer(help_text="extCpInfo", many=True)
176     extVirtualLink = ExtVirtualLinkInfoSerializer(
177         help_text="extVirtualLink", many=True)
178     monitoringParameters = serializers.DictField(
179         help_text="monitoringParameters", child=serializers.CharField(
180             allow_blank=True), required=False, allow_null=True)
181     vimInfo = VimInfoSerializer(help_text="vimInfo", many=True)
182     vnfcResourceInfo = VnfcResourceInfoSerializer(
183         help_text="vnfcResourceInfo", many=True)
184     virtualLinkResourceInfo = VirtualLinkResourceInfoSerializer(
185         help_text="virtualLinkResourceInfo", many=True)
186     virtualStorageResourceInfo = VirtualStorageResourceInfoSerializer(
187         help_text="virtualStorageResourceInfo", many=True)
188
189
190 class VnfInfoSerializer(serializers.Serializer):
191     vnfInstanceId = serializers.CharField(
192         help_text="vnf Instance Id", required=True)
193     vnfInstanceName = serializers.CharField(
194         help_text="vnf Instance Name", required=True)
195     onboardedVnfPkgInfoId = serializers.CharField(
196         help_text="onboarded Vnf Pkg Info Id", required=False, allow_null=True)
197     vnfdVersion = serializers.CharField(
198         help_text="vnfd Version",
199         required=False,
200         allow_null=True)
201     vnfProvider = serializers.CharField(
202         help_text="vnf Provider",
203         required=False,
204         allow_null=True)
205     instantiatedVnfInfo = instantiatedVnfInfoSerializer(
206         help_text="instantiatedVnfInfo", required=True)
207
208
209 class VnfsInfoSerializer(serializers.ListSerializer):
210     child = VnfInfoSerializer()
211
212
213 class ExtVirtualLinkSerizlizer(serializers.Serializer):
214     vlInstanceId = serializers.CharField(
215         help_text="vlInstanceId",
216         required=False,
217         allow_null=True)
218     resourceSubnetId = serializers.CharField(
219         help_text="resourceSubnetId", required=False, allow_null=True)
220     cpdId = serializers.CharField(
221         help_text="cpdId",
222         required=False,
223         allow_null=True)
224     resourceId = serializers.CharField(
225         help_text="resourceId",
226         required=False,
227         allow_null=True)
228     vim = VimInfoSerializer(help_text="vim", required=False, allow_null=True)
229     extCps = ExtCpInfoSerializer(
230         help_text="extCps",
231         many=True,
232         required=False,
233         allow_null=True)
234
235
236 class ExtVirtualLinksSerializer(serializers.ListSerializer):
237     child = ExtVirtualLinkSerizlizer(
238         help_text="extVirtualLink",
239         required=False,
240         allow_null=True)
241
242
243 class AdditionalParamsSerializer(serializers.Serializer):
244     inputs = serializers.DictField(
245         help_text="inputs",
246         child=serializers.CharField(
247             help_text="but i needed to test these 2 fields somehow",
248             allow_blank=True),
249         required=False,
250         allow_null=True)
251     extVirtualLinks = ExtVirtualLinksSerializer(
252         help_text="extVirtualLinks", required=False, allow_null=True)
253
254
255 class InstantiateVnfRequestSerializer(serializers.Serializer):
256     flavourId = serializers.CharField(help_text="flavourId", required=True)
257     instantiationLevelId = serializers.CharField(
258         help_text="instantiationLevelId", required=True, allow_null=True)
259     localizationLanguage = serializers.CharField(
260         help_text="localizationLanguage", required=True, allow_null=True)
261     extVirtualLinks = ExtVirtualLinksSerializer(
262         help_text="extVirtualLinks", required=False, allow_null=True)
263     additionalParams = AdditionalParamsSerializer(
264         help_text="additionalParams", required=False, allow_null=True)
265
266
267 class InstantiateVnfResponseSerializer(serializers.Serializer):
268     jobId = serializers.CharField(help_text="jobId", required=True)