Add vfc-ztevnfmdriver instantiation schema
[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 = serializers.DictField(
83         help_text="additionalParam",
84         child=additionalParamSerializer(help_text='additionalParam'),
85         required=True,
86         allow_null=True)
87
88
89 class TerminateVnfRequestSerializer(serializers.Serializer):
90     terminationType = serializers.CharField(
91         help_text="terminationType",
92         required=True,
93         max_length=255,
94         allow_null=True)
95     gracefulTerminationTimeout = serializers.IntegerField(
96         help_text="gracefulTerminationTimeout",
97         default=120,
98         required=False)
99
100
101 class JobHistorySerializer(serializers.Serializer):
102     status = serializers.CharField(
103         help_text="Status of job",
104         required=True,
105         allow_null=False)
106     progress = serializers.IntegerField(
107         help_text="Progress of job",
108         required=True,
109         allow_null=False)
110     statusDescription = serializers.CharField(
111         help_text="Description of job",
112         required=False,
113         allow_null=True)
114     errorCode = serializers.CharField(
115         help_text="Error code of job",
116         required=False,
117         allow_blank=True)
118     responseId = serializers.IntegerField(
119         help_text="Response index of job",
120         required=True,
121         allow_null=False)
122
123
124 class JobDescriptorSerializer(serializers.Serializer):
125     status = serializers.CharField(
126         help_text="Status of job",
127         required=True,
128         allow_null=False)
129     progress = serializers.IntegerField(
130         help_text="Progress of job",
131         required=True,
132         allow_null=False)
133     statusDescription = serializers.CharField(
134         help_text="Description of job",
135         required=False,
136         allow_null=True)
137     errorCode = serializers.CharField(
138         help_text="Error code of job",
139         required=False,
140         allow_blank=True)
141     responseId = serializers.IntegerField(
142         help_text="Response index of job",
143         required=True,
144         allow_null=False)
145     responseHistoryList = JobHistorySerializer(
146         help_text="History of job",
147         many=True)
148
149
150 class JobQueryRespSerializer(serializers.Serializer):
151     jobId = serializers.CharField(
152         help_text="UUID of job",
153         required=True,
154         allow_null=False)
155     responseDescriptor = JobDescriptorSerializer(
156         help_text="Descriptor of job",
157         required=False)
158
159
160 class GrantVmlistSerializer(serializers.Serializer):
161     VMNumber = serializers.CharField(
162         help_text="VMNumber",
163         max_length=255,
164         required=False,
165         allow_null=True)
166     VMFlavor = serializers.CharField(
167         help_text="VMFlavor",
168         max_length=255,
169         required=False,
170         allow_null=True)
171     vimid = serializers.CharField(
172         help_text="vimid",
173         max_length=255,
174         required=True,
175         allow_blank=True)
176     tenant = serializers.CharField(
177         help_text="tenant",
178         max_length=255,
179         required=False,
180         allow_blank=True)
181
182
183 class GrantReqSerializer(serializers.Serializer):
184     nfvoid = serializers.CharField(
185         help_text="nfvoid",
186         max_length=255,
187         required=True,
188         allow_null=True)
189     vnfmid = serializers.CharField(
190         help_text="vnfmid",
191         max_length=255,
192         required=True,
193         allow_null=True)
194     vimid = serializers.CharField(
195         help_text="vimid",
196         max_length=255,
197         required=True,
198         allow_null=True)
199     tenant = serializers.CharField(
200         help_text="tenant",
201         max_length=255,
202         required=False,
203         allow_blank=True)
204     vnfinstanceid = serializers.CharField(
205         help_text="vnfinstanceid",
206         max_length=255,
207         required=False,
208         allow_null=True)
209     operationright = serializers.CharField(
210         help_text="operationright",
211         max_length=255,
212         required=False,
213         allow_null=True)
214     vmlist = GrantVmlistSerializer(
215         help_text='vmlist',
216         required=False,
217         many=True)
218     exvimidlist = serializers.ListSerializer(
219         help_text='exvimidlist',
220         child=serializers.CharField(allow_null=True),
221         required=False)
222
223
224 class GrantRespSerializer(serializers.Serializer):
225     vimid = serializers.CharField(
226         help_text="vimid",
227         max_length=255,
228         required=True,
229         allow_null=True)
230     tenant = serializers.CharField(
231         help_text="tenant",
232         max_length=255,
233         required=True,
234         allow_null=True)
235
236
237 class VMIDlistSerializer(serializers.Serializer):
238     VMID = serializers.CharField(
239         help_text="VMID",
240         max_length=255,
241         required=False,
242         allow_null=True)
243     VMName = serializers.CharField(
244         help_text="VMName",
245         max_length=255,
246         required=False,
247         allow_null=True)
248     vimid = serializers.CharField(
249         help_text="vimid",
250         max_length=255,
251         required=False,
252         allow_null=True)
253     tenant = serializers.CharField(
254         help_text="tenant",
255         max_length=255,
256         required=False,
257         allow_null=True)
258
259
260 class NotifyVmlistSerializer(serializers.Serializer):
261     VMNumber = serializers.CharField(
262         help_text="VMNumber",
263         max_length=255,
264         required=False,
265         allow_null=True)
266     vdutype = serializers.CharField(
267         help_text="vdutype",
268         max_length=255,
269         required=False,
270         allow_null=True)
271     VMFlavor = serializers.CharField(
272         help_text="VMFlavor",
273         max_length=255,
274         required=False,
275         allow_null=True)
276     VMIDlist = serializers.ListSerializer(
277         help_text='VMIDlist',
278         child=VMIDlistSerializer(help_text='VMIDlist', required=True, allow_null=True),
279         required=False,
280         allow_null=True)
281
282
283 class NotifyReqSerializer(serializers.Serializer):
284     nfvoid = serializers.CharField(
285         help_text="nfvoid",
286         max_length=255,
287         required=True,
288         allow_null=True)
289     vnfmid = serializers.CharField(
290         help_text="vnfmid",
291         max_length=255,
292         required=True,
293         allow_null=True)
294     vimid = serializers.CharField(
295         help_text="vimid",
296         max_length=255,
297         required=True,
298         allow_null=True)
299     timestamp = serializers.CharField(
300         help_text="timestamp",
301         max_length=255,
302         required=False,
303         allow_blank=True)
304     vnfinstanceid = serializers.CharField(
305         help_text="vnfinstanceid",
306         max_length=255,
307         required=False,
308         allow_null=True)
309     eventtype = serializers.CharField(
310         help_text="eventtype",
311         max_length=255,
312         required=False,
313         allow_null=True)
314     vmlist = NotifyVmlistSerializer(
315         help_text='vmlist',
316         required=False,
317         many=True)
318     extension = serializers.DictField(
319         help_text="extension",
320         child=serializers.DictField(allow_null=True),
321         required=False,
322         allow_null=True)
323     affectedcp = serializers.ListSerializer(
324         help_text='affectedcp',
325         child=serializers.DictField(allow_null=True),
326         required=False)
327     affectedvirtuallink = serializers.ListSerializer(
328         help_text='affectedvirtuallink',
329         child=serializers.DictField(allow_null=True),
330         required=False)
331
332
333 class ScaleReqSerializer(serializers.Serializer):
334     type = serializers.CharField(
335         help_text="type",
336         max_length=255,
337         required=True,
338         allow_null=True)
339     aspectId = serializers.CharField(
340         help_text="aspectId",
341         max_length=255,
342         required=True,
343         allow_null=True)
344     numberOfSteps = serializers.CharField(
345         help_text="numberOfSteps",
346         max_length=255,
347         required=True,
348         allow_null=True)
349     additionalParam = serializers.DictField(
350         help_text="additionalParam",
351         child=serializers.DictField(allow_null=True),
352         required=False,
353         allow_null=True)
354
355
356 class AffectedvmSerializer(serializers.Serializer):
357     extention = serializers.CharField(
358         help_text="extention",
359         max_length=255,
360         required=True,
361         allow_blank=True)
362     vmid = serializers.CharField(
363         help_text="vmid",
364         max_length=255,
365         required=True,
366         allow_null=True)
367     changtype = serializers.CharField(
368         help_text="changtype",
369         max_length=255,
370         required=True,
371         allow_null=True)
372     vduid = serializers.CharField(
373         help_text="vduid",
374         max_length=255,
375         required=True,
376         allow_null=True)
377     vmname = serializers.CharField(
378         help_text="vmname",
379         max_length=255,
380         required=True,
381         allow_null=True)
382     flavour = serializers.DictField(
383         help_text="flavour",
384         child=serializers.CharField(allow_blank=True),
385         required=False,
386         allow_null=True)
387
388
389 class HealReqSerializer(serializers.Serializer):
390     action = serializers.CharField(
391         help_text="action",
392         max_length=255,
393         required=True,
394         allow_null=False)
395     lifecycleoperation = serializers.CharField(
396         help_text="lifecycleoperation",
397         max_length=255,
398         required=True,
399         allow_null=False)
400     isgrace = serializers.CharField(
401         help_text="isgrace",
402         max_length=255,
403         required=False,
404         allow_null=True)
405     affectedvm = serializers.ListSerializer(
406         help_text='affectedvm',
407         child=AffectedvmSerializer(help_text='affectedvm', required=True, allow_null=True),
408         required=True,
409         allow_null=True)
410
411
412 class InstScaleHealRespSerializer(serializers.Serializer):
413     jobId = serializers.CharField(
414         help_text="jobid",
415         max_length=255,
416         required=True,
417         allow_null=True)
418     vnfInstanceId = serializers.CharField(
419         help_text="nfInstanceId",
420         max_length=255,
421         required=True,
422         allow_null=True)