1 # Copyright 2018 ZTE Corporation.
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
7 # http://www.apache.org/licenses/LICENSE-2.0
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.
15 from rest_framework import serializers
17 from catalog.pub.utils.toscaparser.nsdmodel import EtsiNsdInfoModel
18 from catalog.pub.utils.toscaparser.vnfdmodel import EtsiVnfdInfoModel
21 class PostJobRequestSerializer(serializers.Serializer):
22 progress = serializers.CharField(
23 help_text="Job Progress",
26 desc = serializers.CharField(
27 help_text="Description",
30 errcode = serializers.CharField(
31 help_text="Error Code",
36 class JobResponseHistoryListSerializer(serializers.Serializer):
37 status = serializers.CharField(
41 progress = serializers.CharField(
42 help_text="Job Progress",
45 statusDescription = serializers.CharField(
46 help_text="Status Description",
49 errorCode = serializers.CharField(
50 help_text="Error Code",
54 responseId = serializers.CharField(
55 help_text="Response Id",
60 class JobResponseDescriptorSerializer(serializers.Serializer):
61 status = serializers.CharField(
65 progress = serializers.CharField(
66 help_text="Job Progress",
69 statusDescription = serializers.CharField(
70 help_text="Status Description",
73 errorCode = serializers.CharField(
74 help_text="Error Code",
78 responseId = serializers.CharField(
79 help_text="Response Id",
82 responseHistoryList = JobResponseHistoryListSerializer(
83 help_text="Response History List",
89 class GetJobResponseSerializer(serializers.Serializer):
90 jobId = serializers.CharField(
94 responseDescriptor = JobResponseDescriptorSerializer(
95 help_text="Job Response Descriptor",
100 class PostJobResponseResultSerializer(serializers.Serializer):
101 result = serializers.CharField(
105 msg = serializers.CharField(
111 class InternalErrorRequestSerializer(serializers.Serializer):
112 error = serializers.CharField(
116 errorMessage = serializers.CharField(
117 help_text="Error Message",
122 class NsPackageDistributeRequestSerializer(serializers.Serializer):
123 csarId = serializers.CharField(
129 class NsPackageDistributeResponseSerializer(serializers.Serializer):
130 status = serializers.CharField(
134 statusDescription = serializers.CharField(
135 help_text="statusDescription",
138 errorCode = serializers.CharField(
139 help_text="errorCode",
145 class NsPackageInfoSerializer(serializers.Serializer):
146 nsdId = serializers.CharField(
151 nsPackageId = serializers.CharField(
152 help_text="NS Package ID",
157 nsdProvider = serializers.CharField(
158 help_text="NSD Provider",
163 nsdVersion = serializers.CharField(
164 help_text="NSD Version",
169 csarName = serializers.CharField(
170 help_text="CSAR name",
175 nsdModel = serializers.CharField(
176 help_text="NSD Model",
181 downloadUrl = serializers.CharField(
182 help_text="URL to download NSD Model",
188 class NsPackageSerializer(serializers.Serializer):
189 csarId = serializers.CharField(
194 packageInfo = NsPackageInfoSerializer(
195 help_text="NS Package Info",
201 class NsPackagesSerializer(serializers.ListSerializer):
202 child = NsPackageSerializer()
205 class ServicePackageDistributeRequestSerializer(serializers.Serializer):
206 csarId = serializers.CharField(
212 class ServicePackageInfoSerializer(serializers.Serializer):
213 servicedId = serializers.CharField(
214 help_text="ServiceD ID",
218 servicePackageId = serializers.CharField(
219 help_text="Service Package ID",
224 servicedProvider = serializers.CharField(
225 help_text="ServiceD Provider",
230 servicedVersion = serializers.CharField(
231 help_text="ServiceD Version",
236 csarName = serializers.CharField(
237 help_text="CSAR name",
242 servicedModel = serializers.CharField(
243 help_text="ServiceD Model",
248 downloadUrl = serializers.CharField(
249 help_text="URL to download ServiceD Model",
255 class ServicePackageSerializer(serializers.Serializer):
256 csarId = serializers.CharField(
261 packageInfo = ServicePackageInfoSerializer(
262 help_text="Service Package Info",
268 class ServicePackagesSerializer(serializers.ListSerializer):
269 child = ServicePackageSerializer()
272 class NfPackageDistributeRequestSerializer(serializers.Serializer):
273 csarId = serializers.CharField(
277 vimIds = serializers.ListField(
278 help_text="A string for vimIds",
279 child=serializers.CharField(),
282 labVimId = serializers.CharField(
283 help_text="A list of VIM IDs.",
289 class NfPackageInfoSerializer(serializers.Serializer):
290 vnfdId = serializers.CharField(
296 vnfPackageId = serializers.CharField(
297 help_text="VNF Package ID",
300 vnfdProvider = serializers.CharField(
301 help_text="VNFD Provider",
306 vnfdVersion = serializers.CharField(
307 help_text="VNFD Version",
312 vnfVersion = serializers.CharField(
313 help_text="VNF Version",
318 csarName = serializers.CharField(
319 help_text="CSAR Name",
324 vnfdModel = serializers.CharField(
325 help_text="VNFD Model",
330 downloadUrl = serializers.CharField(
331 help_text="URL to download VNFD Model",
338 class NfImageInfoSerializer(serializers.Serializer):
339 index = serializers.CharField(
340 help_text="Index of VNF Image",
343 fileName = serializers.CharField(
344 help_text="Image file name",
347 imageId = serializers.CharField(
348 help_text="Image ID",
351 vimId = serializers.CharField(
355 vimUser = serializers.CharField(
356 help_text="User of VIM",
359 tenant = serializers.CharField(
363 status = serializers.CharField(
369 class NfPackageSerializer(serializers.Serializer):
370 csarId = serializers.CharField(
374 packageInfo = NfPackageInfoSerializer(
375 help_text="VNF Package Info",
378 imageInfo = NfImageInfoSerializer(
379 help_text="Image Info",
386 class NfPackagesSerializer(serializers.ListSerializer):
387 child = NfPackageSerializer()
390 class PostJobResponseSerializer(serializers.Serializer):
391 jobId = serializers.CharField(
397 class ParseModelRequestSerializer(serializers.Serializer):
398 csarId = serializers.CharField(
402 packageType = serializers.CharField(
403 help_text="Package type: VNF, PNF, NS, Service",
406 inputs = serializers.JSONField(
412 class ParseModelResponseSerializer(serializers.Serializer):
413 model = serializers.JSONField(
419 class EtsiNsdInfoModelSerializer(serializers.ModelSerializer):
422 model = EtsiNsdInfoModel
425 class EtsiVnfdInfoModelSerializer(serializers.ModelSerializer):
428 model = EtsiVnfdInfoModel
431 class ParseNSPackageResponseSerializer(serializers.Serializer):
432 model = EtsiNsdInfoModelSerializer(
433 help_text="NSD Model",
438 class ParseNfPackageResponseSerializer(serializers.Serializer):
439 model = EtsiVnfdInfoModelSerializer(
440 help_text="VNFD Model",