genericparser seed code
[modeling/etsicatalog.git] / genericparser / packages / serializers / genericparser_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 from genericparser.pub.utils.toscaparsers.nsdmodel import EtsiNsdInfoModel
18 from genericparser.pub.utils.toscaparsers.vnfdmodel import EtsiVnfdInfoModel
19
20
21 class PostJobRequestSerializer(serializers.Serializer):
22     progress = serializers.CharField(
23         help_text="Job Progress",
24         required=False
25     )
26     desc = serializers.CharField(
27         help_text="Description",
28         required=False
29     )
30     errcode = serializers.CharField(
31         help_text="Error Code",
32         required=False
33     )
34
35
36 class JobResponseHistoryListSerializer(serializers.Serializer):
37     status = serializers.CharField(
38         help_text="Status",
39         required=False
40     )
41     progress = serializers.CharField(
42         help_text="Job Progress",
43         required=False
44     )
45     statusDescription = serializers.CharField(
46         help_text="Status Description",
47         required=False
48     )
49     errorCode = serializers.CharField(
50         help_text="Error Code",
51         required=False,
52         allow_null=True
53     )
54     responseId = serializers.CharField(
55         help_text="Response Id",
56         required=False
57     )
58
59
60 class JobResponseDescriptorSerializer(serializers.Serializer):
61     status = serializers.CharField(
62         help_text="Status",
63         required=False
64     )
65     progress = serializers.CharField(
66         help_text="Job Progress",
67         required=False
68     )
69     statusDescription = serializers.CharField(
70         help_text="Status Description",
71         required=False
72     )
73     errorCode = serializers.CharField(
74         help_text="Error Code",
75         required=False,
76         allow_null=True
77     )
78     responseId = serializers.CharField(
79         help_text="Response Id",
80         required=False
81     )
82     responseHistoryList = JobResponseHistoryListSerializer(
83         help_text="Response History List",
84         many=True,
85         required=False
86     )
87
88
89 class GetJobResponseSerializer(serializers.Serializer):
90     jobId = serializers.CharField(
91         help_text="Job Id",
92         required=False
93     )
94     responseDescriptor = JobResponseDescriptorSerializer(
95         help_text="Job Response Descriptor",
96         required=False
97     )
98
99
100 class PostJobResponseResultSerializer(serializers.Serializer):
101     result = serializers.CharField(
102         help_text="Result",
103         required=True
104     )
105     msg = serializers.CharField(
106         help_text="Message",
107         required=False
108     )
109
110
111 class InternalErrorRequestSerializer(serializers.Serializer):
112     error = serializers.CharField(
113         help_text="Error",
114         required=True
115     )
116     errorMessage = serializers.CharField(
117         help_text="Error Message",
118         required=False
119     )
120
121
122 class NsPackageDistributeRequestSerializer(serializers.Serializer):
123     csarId = serializers.CharField(
124         help_text="csarId",
125         required=True
126     )
127
128
129 class NsPackageDistributeResponseSerializer(serializers.Serializer):
130     status = serializers.CharField(
131         help_text="status",
132         required=True
133     )
134     statusDescription = serializers.CharField(
135         help_text="statusDescription",
136         required=True
137     )
138     errorCode = serializers.CharField(
139         help_text="errorCode",
140         required=True,
141         allow_null=True
142     )
143
144
145 class NsPackageInfoSerializer(serializers.Serializer):
146     nsdId = serializers.CharField(
147         help_text="NSD ID",
148         required=False,
149         allow_null=True
150     )
151     nsPackageId = serializers.CharField(
152         help_text="NS Package ID",
153         allow_blank=True,
154         required=False,
155         allow_null=True
156     )
157     nsdProvider = serializers.CharField(
158         help_text="NSD Provider",
159         allow_blank=True,
160         required=False,
161         allow_null=True
162     )
163     nsdVersion = serializers.CharField(
164         help_text="NSD Version",
165         allow_blank=True,
166         required=False,
167         allow_null=True
168     )
169     csarName = serializers.CharField(
170         help_text="CSAR name",
171         allow_blank=True,
172         required=False,
173         allow_null=True
174     )
175     nsdModel = serializers.CharField(
176         help_text="NSD Model",
177         allow_blank=True,
178         required=False,
179         allow_null=True
180     )
181     downloadUrl = serializers.CharField(
182         help_text="URL to download NSD Model",
183         required=False,
184         allow_null=True
185     )
186
187
188 class NsPackageSerializer(serializers.Serializer):
189     csarId = serializers.CharField(
190         help_text="CSAR ID",
191         required=False,
192         allow_null=True
193     )
194     packageInfo = NsPackageInfoSerializer(
195         help_text="NS Package Info",
196         required=False,
197         allow_null=True
198     )
199
200
201 class NsPackagesSerializer(serializers.ListSerializer):
202     child = NsPackageSerializer()
203
204
205 class ServicePackageDistributeRequestSerializer(serializers.Serializer):
206     csarId = serializers.CharField(
207         help_text="csarId",
208         required=True
209     )
210
211
212 class ServicePackageInfoSerializer(serializers.Serializer):
213     servicedId = serializers.CharField(
214         help_text="ServiceD ID",
215         required=False,
216         allow_null=True
217     )
218     servicePackageId = serializers.CharField(
219         help_text="Service Package ID",
220         allow_blank=True,
221         required=False,
222         allow_null=True
223     )
224     servicedProvider = serializers.CharField(
225         help_text="ServiceD Provider",
226         allow_blank=True,
227         required=False,
228         allow_null=True
229     )
230     servicedVersion = serializers.CharField(
231         help_text="ServiceD Version",
232         allow_blank=True,
233         required=False,
234         allow_null=True
235     )
236     csarName = serializers.CharField(
237         help_text="CSAR name",
238         allow_blank=True,
239         required=False,
240         allow_null=True
241     )
242     servicedModel = serializers.CharField(
243         help_text="ServiceD Model",
244         allow_blank=True,
245         required=False,
246         allow_null=True
247     )
248     downloadUrl = serializers.CharField(
249         help_text="URL to download ServiceD Model",
250         required=False,
251         allow_null=True
252     )
253
254
255 class ServicePackageSerializer(serializers.Serializer):
256     csarId = serializers.CharField(
257         help_text="CSAR ID",
258         required=False,
259         allow_null=True
260     )
261     packageInfo = ServicePackageInfoSerializer(
262         help_text="Service Package Info",
263         required=False,
264         allow_null=True
265     )
266
267
268 class ServicePackagesSerializer(serializers.ListSerializer):
269     child = ServicePackageSerializer()
270
271
272 class NfPackageDistributeRequestSerializer(serializers.Serializer):
273     csarId = serializers.CharField(
274         help_text="CSAR ID",
275         required=True
276     )
277     vimIds = serializers.ListField(
278         help_text="A string for vimIds",
279         child=serializers.CharField(),
280         required=False
281     )
282     labVimId = serializers.CharField(
283         help_text="A list of VIM IDs.",
284         allow_blank=True,
285         required=False
286     )
287
288
289 class NfPackageInfoSerializer(serializers.Serializer):
290     vnfdId = serializers.CharField(
291         help_text="VNFD ID",
292         required=False,
293         allow_null=True,
294         allow_blank=True
295     )
296     vnfPackageId = serializers.CharField(
297         help_text="VNF Package ID",
298         required=True
299     )
300     vnfdProvider = serializers.CharField(
301         help_text="VNFD Provider",
302         required=False,
303         allow_null=True,
304         allow_blank=True
305     )
306     vnfdVersion = serializers.CharField(
307         help_text="VNFD Version",
308         required=False,
309         allow_null=True,
310         allow_blank=True
311     )
312     vnfVersion = serializers.CharField(
313         help_text="VNF Version",
314         required=False,
315         allow_null=True,
316         allow_blank=True
317     )
318     csarName = serializers.CharField(
319         help_text="CSAR Name",
320         required=False,
321         allow_null=True,
322         allow_blank=True
323     )
324     vnfdModel = serializers.CharField(
325         help_text="VNFD Model",
326         required=False,
327         allow_null=True,
328         allow_blank=True
329     )
330     downloadUrl = serializers.CharField(
331         help_text="URL to download VNFD Model",
332         required=False,
333         allow_null=True,
334         allow_blank=True
335     )
336
337
338 class NfImageInfoSerializer(serializers.Serializer):
339     index = serializers.CharField(
340         help_text="Index of VNF Image",
341         required=True
342     )
343     fileName = serializers.CharField(
344         help_text="Image file name",
345         required=True
346     )
347     imageId = serializers.CharField(
348         help_text="Image ID",
349         required=True
350     )
351     vimId = serializers.CharField(
352         help_text="VIM ID",
353         required=True
354     )
355     vimUser = serializers.CharField(
356         help_text="User of VIM",
357         required=True
358     )
359     tenant = serializers.CharField(
360         help_text="Tenant",
361         required=True
362     )
363     status = serializers.CharField(
364         help_text="Status",
365         required=True
366     )
367
368
369 class NfPackageSerializer(serializers.Serializer):
370     csarId = serializers.CharField(
371         help_text="CSAR ID",
372         required=True
373     )
374     packageInfo = NfPackageInfoSerializer(
375         help_text="VNF Package Info",
376         required=True
377     )
378     imageInfo = NfImageInfoSerializer(
379         help_text="Image Info",
380         required=False,
381         many=True,
382         allow_null=True
383     )
384
385
386 class NfPackagesSerializer(serializers.ListSerializer):
387     child = NfPackageSerializer()
388
389
390 class PostJobResponseSerializer(serializers.Serializer):
391     jobId = serializers.CharField(
392         help_text="jobId",
393         required=True
394     )
395
396
397 class ParseModelRequestSerializer(serializers.Serializer):
398     csarId = serializers.CharField(
399         help_text="CSAR ID",
400         required=True
401     )
402     packageType = serializers.CharField(
403         help_text="Package type: VNF, PNF, NS, Service",
404         required=False
405     )
406     inputs = serializers.JSONField(
407         help_text="Inputs",
408         required=False
409     )
410
411
412 class ParseModelResponseSerializer(serializers.Serializer):
413     model = serializers.JSONField(
414         help_text="Model",
415         required=True
416     )
417
418
419 class EtsiNsdInfoModelSerializer(serializers.ModelSerializer):
420
421     class Meta:
422         model = EtsiNsdInfoModel
423
424
425 class EtsiVnfdInfoModelSerializer(serializers.ModelSerializer):
426
427     class Meta:
428         model = EtsiVnfdInfoModel
429
430
431 class ParseNSPackageResponseSerializer(serializers.Serializer):
432     model = EtsiNsdInfoModelSerializer(
433         help_text="NSD Model",
434         required=True
435     )
436
437
438 class ParseNfPackageResponseSerializer(serializers.Serializer):
439     model = EtsiVnfdInfoModelSerializer(
440         help_text="VNFD Model",
441         required=True
442     )