2e7cbae75136329e48cffcaf9d61d32bd1d28068
[vfc/nfvo/driver/vnfm/svnfm.git] / zte / vmanager / driver / interfaces / 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 AdditionalParamSerializer(serializers.Serializer):
19     sdncontroller = serializers.CharField(
20         help_text="sdncontroller",
21         required=True,
22         max_length=255,
23         allow_null=True)
24     NatIpRange = serializers.CharField(
25         help_text="NatIpRange",
26         required=True,
27         max_length=255,
28         allow_null=True)
29     m6000_mng_ip = serializers.CharField(
30         help_text="m6000_mng_ip",
31         required=True,
32         max_length=255,
33         allow_null=True)
34     externalPluginManageNetworkName = serializers.CharField(
35         help_text="externalPluginManageNetworkName",
36         required=True,
37         max_length=255,
38         allow_null=True)
39     location = serializers.CharField(
40         help_text="location",
41         required=True,
42         max_length=255,
43         allow_null=True)
44     externalManageNetworkName = serializers.CharField(
45         help_text="externalManageNetworkName",
46         required=True,
47         max_length=255,
48         allow_null=True)
49     sfc_data_network = serializers.CharField(
50         help_text="sfc_data_network",
51         required=True,
52         max_length=255,
53         allow_null=True)
54     externalDataNetworkName = serializers.CharField(
55         help_text="externalDataNetworkName",
56         required=True,
57         max_length=255,
58         allow_null=True)
59     inputs = serializers.DictField(
60         help_text='inputs',
61         child=serializers.CharField(allow_blank=True),
62         required=False,
63         allow_null=True)
64
65
66 class InstantiateVnfRequestSerializer(serializers.Serializer):
67     vnfInstanceName = serializers.CharField(
68         help_text="vnfInstanceName",
69         required=True,
70         max_length=255,
71         allow_null=True)
72     vnfPackageId = serializers.CharField(
73         help_text="vnfPackageId",
74         required=True,
75         max_length=255,
76         allow_null=True)
77     vnfDescriptorId = serializers.CharField(
78         help_text="vnfDescriptorId",
79         required=True,
80         max_length=255,
81         allow_null=True)
82     additionalParam = AdditionalParamSerializer(
83         help_text="additionalParam",
84         required=True,
85         allow_null=True)
86
87
88 class TerminateVnfRequestSerializer(serializers.Serializer):
89     terminationType = serializers.CharField(
90         help_text="terminationType",
91         required=True,
92         max_length=255,
93         allow_null=True)
94     gracefulTerminationTimeout = serializers.IntegerField(
95         help_text="gracefulTerminationTimeout",
96         default=120,
97         required=False)
98
99
100 class VnfInfoSerializer(serializers.Serializer):
101     vnfStatus = serializers.CharField(
102         help_text="vnfStatus",
103         required=True,
104         max_length=255,
105         allow_null=True)
106
107
108 class QueryVnfResponseSerializer(serializers.Serializer):
109     vnfInfo = VnfInfoSerializer(
110         help_text="vnfInfo",
111         required=True)
112
113
114 class JobHistorySerializer(serializers.Serializer):
115     status = serializers.CharField(
116         help_text="Status of job",
117         required=True,
118         allow_null=False)
119     progress = serializers.IntegerField(
120         help_text="Progress of job",
121         required=True,
122         allow_null=False)
123     statusDescription = serializers.CharField(
124         help_text="Description of job",
125         required=False,
126         allow_null=True)
127     errorCode = serializers.CharField(
128         help_text="Error code of job",
129         required=False,
130         allow_blank=True)
131     responseId = serializers.IntegerField(
132         help_text="Response index of job",
133         required=True,
134         allow_null=False)
135
136
137 class JobDescriptorSerializer(serializers.Serializer):
138     status = serializers.CharField(
139         help_text="Status of job",
140         required=True,
141         allow_null=False)
142     progress = serializers.IntegerField(
143         help_text="Progress of job",
144         required=True,
145         allow_null=False)
146     statusDescription = serializers.CharField(
147         help_text="Description of job",
148         required=False,
149         allow_null=True)
150     errorCode = serializers.CharField(
151         help_text="Error code of job",
152         required=False,
153         allow_blank=True)
154     responseId = serializers.IntegerField(
155         help_text="Response index of job",
156         required=True,
157         allow_null=False)
158     responseHistoryList = JobHistorySerializer(
159         help_text="History of job",
160         many=True)
161
162
163 class JobQueryRespSerializer(serializers.Serializer):
164     jobId = serializers.CharField(
165         help_text="UUID of job",
166         required=True,
167         allow_null=False)
168     responseDescriptor = JobDescriptorSerializer(
169         help_text="Descriptor of job",
170         required=False)
171
172
173 class GrantVmlistSerializer(serializers.Serializer):
174     VMNumber = serializers.CharField(
175         help_text="VMNumber",
176         max_length=255,
177         required=False,
178         allow_null=True)
179     VMFlavor = serializers.CharField(
180         help_text="VMFlavor",
181         max_length=255,
182         required=False,
183         allow_null=True)
184     vimid = serializers.CharField(
185         help_text="vimid",
186         max_length=255,
187         required=True,
188         allow_blank=True)
189     tenant = serializers.CharField(
190         help_text="tenant",
191         max_length=255,
192         required=False,
193         allow_blank=True)
194
195
196 class GrantReqSerializer(serializers.Serializer):
197     nfvoid = serializers.CharField(
198         help_text="nfvoid",
199         max_length=255,
200         required=True,
201         allow_null=True)
202     vnfmid = serializers.CharField(
203         help_text="vnfmid",
204         max_length=255,
205         required=True,
206         allow_null=True)
207     vimid = serializers.CharField(
208         help_text="vimid",
209         max_length=255,
210         required=True,
211         allow_null=True)
212     tenant = serializers.CharField(
213         help_text="tenant",
214         max_length=255,
215         required=False,
216         allow_blank=True)
217     vnfinstanceid = serializers.CharField(
218         help_text="vnfinstanceid",
219         max_length=255,
220         required=False,
221         allow_null=True)
222     operationright = serializers.CharField(
223         help_text="operationright",
224         max_length=255,
225         required=False,
226         allow_null=True)
227     vmlist = GrantVmlistSerializer(
228         help_text='vmlist',
229         required=False,
230         many=True)
231     exvimidlist = serializers.ListSerializer(
232         help_text='exvimidlist',
233         child=serializers.CharField(allow_null=True),
234         required=False)
235
236
237 class GrantRespSerializer(serializers.Serializer):
238     vimid = serializers.CharField(
239         help_text="vimid",
240         max_length=255,
241         required=True,
242         allow_null=True)
243     tenant = serializers.CharField(
244         help_text="tenant",
245         max_length=255,
246         required=True,
247         allow_null=True)
248
249
250 class VMIDlistSerializer(serializers.Serializer):
251     VMID = serializers.CharField(
252         help_text="VMID",
253         max_length=255,
254         required=False,
255         allow_null=True)
256     VMName = serializers.CharField(
257         help_text="VMName",
258         max_length=255,
259         required=False,
260         allow_null=True)
261     vimid = serializers.CharField(
262         help_text="vimid",
263         max_length=255,
264         required=False,
265         allow_null=True)
266     tenant = serializers.CharField(
267         help_text="tenant",
268         max_length=255,
269         required=False,
270         allow_null=True)
271
272
273 class NotifyVmlistSerializer(serializers.Serializer):
274     VMNumber = serializers.CharField(
275         help_text="VMNumber",
276         max_length=255,
277         required=False,
278         allow_null=True)
279     vdutype = serializers.CharField(
280         help_text="vdutype",
281         max_length=255,
282         required=False,
283         allow_null=True)
284     VMFlavor = serializers.CharField(
285         help_text="VMFlavor",
286         max_length=255,
287         required=False,
288         allow_null=True)
289     VMIDlist = serializers.ListSerializer(
290         help_text='VMIDlist',
291         child=VMIDlistSerializer(help_text='VMIDlist', required=True, allow_null=True),
292         required=False,
293         allow_null=True)
294
295
296 class NotifyReqSerializer(serializers.Serializer):
297     nfvoid = serializers.CharField(
298         help_text="nfvoid",
299         max_length=255,
300         required=True,
301         allow_null=True)
302     vnfmid = serializers.CharField(
303         help_text="vnfmid",
304         max_length=255,
305         required=True,
306         allow_null=True)
307     vimid = serializers.CharField(
308         help_text="vimid",
309         max_length=255,
310         required=True,
311         allow_null=True)
312     timestamp = serializers.CharField(
313         help_text="timestamp",
314         max_length=255,
315         required=False,
316         allow_blank=True)
317     vnfinstanceid = serializers.CharField(
318         help_text="vnfinstanceid",
319         max_length=255,
320         required=False,
321         allow_null=True)
322     eventtype = serializers.CharField(
323         help_text="eventtype",
324         max_length=255,
325         required=False,
326         allow_null=True)
327     vmlist = NotifyVmlistSerializer(
328         help_text='vmlist',
329         required=False,
330         many=True)
331     extension = serializers.DictField(
332         help_text="extension",
333         child=serializers.DictField(allow_null=True),
334         required=False,
335         allow_null=True)
336     affectedcp = serializers.ListSerializer(
337         help_text='affectedcp',
338         child=serializers.DictField(allow_null=True),
339         required=False)
340     affectedvirtuallink = serializers.ListSerializer(
341         help_text='affectedvirtuallink',
342         child=serializers.DictField(allow_null=True),
343         required=False)
344
345
346 class ScaleReqSerializer(serializers.Serializer):
347     type = serializers.CharField(
348         help_text="type",
349         max_length=255,
350         required=True,
351         allow_null=True)
352     aspectId = serializers.CharField(
353         help_text="aspectId",
354         max_length=255,
355         required=True,
356         allow_null=True)
357     numberOfSteps = serializers.CharField(
358         help_text="numberOfSteps",
359         max_length=255,
360         required=True,
361         allow_null=True)
362     additionalParam = serializers.DictField(
363         help_text="additionalParam",
364         child=serializers.DictField(allow_null=True),
365         required=False,
366         allow_null=True)
367
368
369 class AffectedvmSerializer(serializers.Serializer):
370     extention = serializers.CharField(
371         help_text="extention",
372         max_length=255,
373         required=True,
374         allow_blank=True)
375     vmid = serializers.CharField(
376         help_text="vmid",
377         max_length=255,
378         required=True,
379         allow_null=True)
380     changtype = serializers.CharField(
381         help_text="changtype",
382         max_length=255,
383         required=True,
384         allow_null=True)
385     vduid = serializers.CharField(
386         help_text="vduid",
387         max_length=255,
388         required=True,
389         allow_null=True)
390     vmname = serializers.CharField(
391         help_text="vmname",
392         max_length=255,
393         required=True,
394         allow_null=True)
395     flavour = serializers.DictField(
396         help_text="flavour",
397         child=serializers.CharField(allow_blank=True),
398         required=False,
399         allow_null=True)
400
401
402 class HealReqSerializer(serializers.Serializer):
403     action = serializers.CharField(
404         help_text="action",
405         max_length=255,
406         required=True,
407         allow_null=False)
408     lifecycleoperation = serializers.CharField(
409         help_text="lifecycleoperation",
410         max_length=255,
411         required=True,
412         allow_null=False)
413     isgrace = serializers.CharField(
414         help_text="isgrace",
415         max_length=255,
416         required=False,
417         allow_null=True)
418     affectedvm = serializers.ListSerializer(
419         help_text='affectedvm',
420         child=AffectedvmSerializer(help_text='affectedvm', required=True, allow_null=True),
421         required=True,
422         allow_null=True)
423
424
425 class InstScaleHealRespSerializer(serializers.Serializer):
426     jobId = serializers.CharField(
427         help_text="jobid",
428         max_length=255,
429         required=True,
430         allow_null=True)
431     vnfInstanceId = serializers.CharField(
432         help_text="nfInstanceId",
433         max_length=255,
434         required=True,
435         allow_null=True)
436
437
438 class SubscribeFilterSerializer(serializers.Serializer):
439     vendor = serializers.CharField(
440         help_text="vendor",
441         max_length=255,
442         required=True,
443         allow_null=True)
444     type = serializers.CharField(
445         help_text="type",
446         max_length=255,
447         required=True,
448         allow_null=True)
449
450
451 class SubscribeSerializer(serializers.Serializer):
452     subscribeid = serializers.CharField(
453         help_text="subscribeid",
454         max_length=255,
455         required=True,
456         allow_null=True)
457     notificationuri = serializers.CharField(
458         help_text="notificationuri",
459         max_length=255,
460         required=True,
461         allow_null=True)
462     filter = SubscribeFilterSerializer(
463         help_text="filter",
464         many=True,
465         required=False,
466         allow_null=True)
467
468
469 class SubscribesRespSerializer(serializers.Serializer):
470     child = SubscribeSerializer()