Udpate description of vnfres serializers
[vfc/gvnfm/vnfres.git] / res / res / resources / 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 ResourceSerializer(serializers.Serializer):
19     resourceId = serializers.CharField(
20         help_text="ID of resource",
21         required=True,
22         max_length=255,
23         allow_null=True)
24     vimId = serializers.CharField(
25         help_text="ID of VIM",
26         required=True,
27         max_length=255,
28         allow_null=True)
29
30
31 class VirtualStorageResourceInfoSerializer(serializers.Serializer):
32     virtualStorageInstanceId = serializers.CharField(
33         help_text="ID of virtual storage instance",
34         required=False,
35         max_length=255,
36         allow_null=True)
37     virtualStorageDescId = serializers.CharField(
38         help_text="Description ID of virtual storage",
39         required=False,
40         max_length=255,
41         allow_null=True)
42     storageResource = ResourceSerializer(
43         help_text="Storage resource",
44         required=False,
45         allow_null=True)
46
47
48 class VirtualLinkResourceInfoSerializer(serializers.Serializer):
49     virtualLinkInstanceId = serializers.CharField(
50         help_text="ID of virtual link instance",
51         required=False,
52         max_length=255,
53         allow_null=True)
54     virtualLinkDescId = serializers.CharField(
55         help_text="Description ID of virtual link",
56         required=False,
57         max_length=255,
58         allow_null=True)
59     networkResource = ResourceSerializer(
60         help_text="Network resource",
61         required=False,
62         allow_null=True)
63
64
65 class VnfcResourceInfoSerializer(serializers.Serializer):
66     vnfcInstanceId = serializers.CharField(
67         help_text="ID of vnfc instance",
68         required=False,
69         max_length=255,
70         allow_null=True)
71     vduId = serializers.CharField(
72         help_text="Id of virtual data unit",
73         required=False,
74         max_length=255,
75         allow_null=True)
76     storageResourceIds = serializers.CharField(
77         help_text="ID list of storage resources",
78         required=False,
79         max_length=255,
80         allow_null=True)
81     computeResource = ResourceSerializer(
82         help_text="Compute resource",
83         required=False,
84         allow_null=True)
85
86
87 class AccessInfoSerializer(serializers.Serializer):
88     tenant = serializers.CharField(
89         help_text="Tenant",
90         required=False,
91         max_length=255,
92         allow_null=True)
93     username = serializers.CharField(
94         help_text="User Name",
95         required=False,
96         max_length=255,
97         allow_null=True)
98     password = serializers.CharField(
99         help_text="Password",
100         required=False,
101         max_length=255,
102         allow_null=True)
103
104
105 class InterfaceInfoSerializer(serializers.Serializer):
106     vimType = serializers.CharField(
107         help_text="VIM type",
108         required=False,
109         max_length=255,
110         allow_null=True)
111     apiVersion = serializers.CharField(
112         help_text="API version",
113         required=False,
114         max_length=255,
115         allow_null=True)
116     protocolType = serializers.ChoiceField(
117         help_text="Protocol type",
118         choices=['http', 'https'],
119         required=False,
120         allow_null=True)
121
122
123 class VmResponseSerializer(serializers.Serializer):
124     vmid = serializers.CharField(
125         help_text="ID of VM",
126         required=True,
127         max_length=255,
128         allow_null=True)
129     vimid = serializers.CharField(
130         help_text="ID of VIM",
131         required=True,
132         max_length=255,
133         allow_null=True)
134     resouceid = serializers.CharField(
135         help_text="ID of resource",
136         required=True,
137         max_length=255,
138         allow_null=True)
139     tenant = serializers.CharField(
140         help_text="Tenant",
141         required=True,
142         max_length=255,
143         allow_null=True)
144     instid = serializers.CharField(
145         help_text="ID of instance",
146         required=True,
147         max_length=255,
148         allow_null=True)
149     vmname = serializers.CharField(
150         help_text="Name of VM",
151         required=True,
152         max_length=255,
153         allow_null=True)
154     insttype = serializers.IntegerField(
155         help_text="Instance type",
156         required=True,
157         allow_null=True)
158     operationalstate = serializers.CharField(
159         help_text="Operational state",
160         required=True,
161         max_length=255,
162         allow_null=True)
163     is_predefined = serializers.IntegerField(
164         help_text="Is predefined",
165         required=True,
166         allow_null=True)
167     security_groups = serializers.CharField(
168         help_text="Security groups",
169         required=True,
170         max_length=255,
171         allow_null=True)
172     flavor_id = serializers.CharField(
173         help_text="ID of flavor",
174         required=True,
175         max_length=255,
176         allow_null=True)
177     availability_zone = serializers.CharField(
178         help_text="Availability zone",
179         required=True,
180         max_length=255,
181         allow_null=True)
182     server_group = serializers.CharField(
183         help_text="Server group",
184         required=True,
185         max_length=255,
186         allow_null=True)
187     volume_array = serializers.CharField(
188         help_text="Volume array",
189         required=True,
190         max_length=255,
191         allow_null=True)
192     metadata = serializers.CharField(
193         help_text="Metadata",
194         required=True,
195         max_length=255,
196         allow_null=True)
197     nic_array = serializers.CharField(
198         help_text="Nic array",
199         required=True,
200         max_length=255,
201         allow_null=True)
202     create_time = serializers.CharField(
203         help_text="Create time",
204         required=False,
205         max_length=255,
206         allow_null=True)
207     nodeId = serializers.CharField(
208         help_text="ID of node",
209         required=False,
210         max_length=255,
211         allow_null=True)
212
213
214 class VimInfoSerializer(serializers.Serializer):
215     vimInfoId = serializers.CharField(
216         help_text="vimInfoId",
217         required=False,
218         max_length=255,
219         allow_null=True)
220     vimId = serializers.CharField(
221         help_text="vimId",
222         required=False,
223         max_length=255,
224         allow_null=True)
225     interfaceEndpoint = serializers.CharField(
226         help_text="interfaceEndpoint",
227         required=False,
228         max_length=255,
229         allow_null=True)
230     interfaceInfo = InterfaceInfoSerializer(
231         help_text="vimInfoId",
232         required=False,
233         allow_null=True)
234     accessInfo = AccessInfoSerializer(
235         help_text="accessInfo",
236         required=False,
237         allow_null=True)
238
239
240 class LinkPortsSerializer(serializers.Serializer):
241     resourceId = serializers.CharField(
242         help_text="resourceId",
243         required=True,
244         max_length=255,
245         allow_null=True)
246     vimId = serializers.CharField(
247         help_text="vimId",
248         required=False,
249         max_length=255,
250         allow_null=True)
251
252
253 class ResourceHandleSerializer(serializers.Serializer):
254     resourceId = serializers.CharField(
255         help_text="resourceId",
256         required=True,
257         max_length=255,
258         allow_null=True)
259     vimId = serializers.CharField(
260         help_text="vimId",
261         required=False,
262         max_length=255,
263         allow_null=True)
264     resourceProviderId = serializers.CharField(
265         help_text="resourceProviderId",
266         required=False,
267         max_length=255,
268         allow_null=True)
269
270
271 class ExtVirtualLinkInfoSerializer(serializers.Serializer):
272     extVirtualLinkId = serializers.CharField(
273         help_text="extVirtualLinkId",
274         required=True,
275         max_length=255,
276         allow_null=True)
277     resourceHandle = ResourceHandleSerializer(
278         help_text="iPAddress",
279         required=True)
280     linkPorts = LinkPortsSerializer(
281         help_text="iPAddress",
282         many=True,
283         allow_null=True)
284
285
286 class L3AddressDataSerializer(serializers.Serializer):
287     iPAddressType = serializers.ChoiceField(
288         help_text="iPAddressType",
289         choices=['IPv4', 'IPv6'],
290         required=True)
291     iPAddress = serializers.CharField(
292         help_text="iPAddress",
293         required=True,
294         max_length=255,
295         allow_null=True)
296
297
298 class NetworkAddressSerializer(serializers.Serializer):
299     addressType = serializers.ChoiceField(
300         help_text="addressType",
301         choices=['MAC', 'IP'],
302         required=True)
303     l2AddressData = serializers.CharField(
304         help_text="l2AddressData",
305         required=False,
306         max_length=255,
307         allow_null=True)
308     l3AddressData = L3AddressDataSerializer(
309         help_text="addresses",
310         required=False)
311
312
313 class ExtCpInfoSerializer(serializers.Serializer):
314     cpInstanceId = serializers.CharField(
315         help_text="cpInstanceId",
316         required=False,
317         max_length=255,
318         allow_null=True)
319     cpdId = serializers.IntegerField(
320         help_text="cpdId",
321         required=True,
322         allow_null=True)
323     numDynamicAddresses = serializers.IntegerField(
324         help_text="numDynamicAddresses",
325         required=False,
326         allow_null=True)
327     addresses = NetworkAddressSerializer(
328         help_text="addresses",
329         many=True,
330         allow_null=True)
331
332
333 class ScaleInfoSerializer(serializers.Serializer):
334     aspectId = serializers.CharField(
335         help_text="aspectId",
336         required=True,
337         max_length=255,
338         allow_null=True)
339     scaleLevel = serializers.IntegerField(
340         help_text="scaleLevel",
341         required=True,
342         allow_null=True)
343
344
345 class InstantiatedVnfInfoSerializer(serializers.Serializer):
346     flavourId = serializers.CharField(
347         help_text="flavourId",
348         required=True,
349         max_length=255,
350         allow_null=True)
351     vnfState = serializers.ChoiceField(
352         help_text="vnfState",
353         choices=['STARTED', 'STOPPED'],
354         required=True,
355         allow_null=True)
356     localizationLanguage = serializers.CharField(
357         help_text="localizationLanguage",
358         required=True,
359         max_length=255,
360         allow_null=True)
361     scaleStatus = ScaleInfoSerializer(
362         help_text="scaleStatus",
363         many=True)
364     extCpInfo = ExtCpInfoSerializer(
365         help_text="extCpInfo",
366         many=True)
367     extVirtualLink = ExtVirtualLinkInfoSerializer(
368         help_text="extVirtualLink",
369         many=True)
370     monitoringParameters = serializers.DictField(
371         help_text="monitoringParameters",
372         child=serializers.CharField(allow_blank=True),
373         required=False,
374         allow_null=True)
375     vmInfo = VmResponseSerializer(
376         help_text="vmInfo",
377         many=True,
378         allow_null=True)
379     vimInfo = VimInfoSerializer(
380         help_text="vimInfo",
381         many=True,
382         required=False,
383         allow_null=True)
384     vnfcResourceInfo = VnfcResourceInfoSerializer(
385         help_text="vnfcResourceInfo",
386         many=True)
387     virtualLinkResourceInfo = VirtualLinkResourceInfoSerializer(
388         help_text="virtualLinkResourceInfo",
389         many=True)
390     virtualStorageResourceInfo = VirtualStorageResourceInfoSerializer(
391         help_text="virtualStorageResourceInfo",
392         many=True)
393
394
395 class VnfInfoSerializer(serializers.Serializer):
396     vnfInstanceId = serializers.CharField(
397         help_text="vnfInstanceId",
398         required=True,
399         max_length=255,
400         allow_null=True)
401     vnfInstanceName = serializers.CharField(
402         help_text="vnfInstanceName",
403         required=True,
404         max_length=255,
405         allow_null=True)
406     vnfInstanceDescription = serializers.CharField(
407         help_text="vnfInstanceDescription",
408         required=True,
409         max_length=255,
410         allow_null=True)
411     onboardedVnfPkgInfoId = serializers.CharField(
412         help_text="onboardedVnfPkgInfoId",
413         required=False,
414         max_length=255,
415         allow_null=True)
416     vnfdId = serializers.CharField(
417         help_text="vnfdId",
418         required=True,
419         max_length=255,
420         allow_null=True)
421     vnfdVersion = serializers.CharField(
422         help_text="vnfdVersion",
423         required=False,
424         max_length=255,
425         allow_null=True)
426     vnfSoftwareVersion = serializers.CharField(
427         help_text="vnfSoftwareVersion",
428         required=True,
429         max_length=255,
430         allow_null=True)
431     vnfProvider = serializers.CharField(
432         help_text="vnfProvider",
433         required=False,
434         max_length=255,
435         allow_null=True)
436     vnfProductName = serializers.CharField(
437         help_text="vnfProductName",
438         required=False,
439         max_length=255,
440         allow_null=True)
441     vnfConfigurableProperties = serializers.CharField(
442         help_text="vnfConfigurableProperties",
443         required=False,
444         max_length=255,
445         allow_null=True)
446     instantiationState = serializers.CharField(
447         help_text="instantiationState",
448         required=False,
449         max_length=255,
450         allow_null=True)
451     extensions = serializers.CharField(
452         help_text="extensions",
453         required=False,
454         max_length=255,
455         allow_null=True)
456     metadata = serializers.CharField(
457         help_text="metadata",
458         required=False,
459         max_length=255,
460         allow_null=True)
461     instantiatedVnfInfo = InstantiatedVnfInfoSerializer(
462         help_text="instantiatedVnfInfo",
463         required=True)
464
465
466 class VnfsInfoSerializer(serializers.Serializer):
467     resp_data = VnfInfoSerializer(
468         help_text="the response data",
469         many=True)
470
471
472 class VmInfoSerializer(serializers.Serializer):
473     resp_data = VmResponseSerializer(
474         help_text="the response data",
475         many=True)
476
477
478 class FlavorResponseSerializer(serializers.Serializer):
479     flavourid = serializers.CharField(
480         help_text="flavourid",
481         required=True,
482         max_length=255,
483         allow_null=True)
484     vimid = serializers.CharField(
485         help_text="vimid",
486         required=True,
487         max_length=255,
488         allow_null=True)
489     resouceid = serializers.CharField(
490         help_text="resouceid",
491         required=True,
492         max_length=255,
493         allow_null=True)
494     tenant = serializers.CharField(
495         help_text="tenant",
496         required=True,
497         max_length=255,
498         allow_null=True)
499     instid = serializers.CharField(
500         help_text="instid",
501         required=True,
502         max_length=255,
503         allow_null=True)
504     name = serializers.CharField(
505         help_text="name",
506         required=True,
507         max_length=255,
508         allow_null=True)
509     extraspecs = serializers.CharField(
510         help_text="extraspecs",
511         required=True,
512         max_length=255,
513         allow_null=True)
514     create_time = serializers.CharField(
515         help_text="create_time",
516         required=True,
517         max_length=255,
518         allow_null=True)
519     memory = serializers.IntegerField(
520         help_text="memory",
521         required=True,
522         allow_null=True)
523     vcpu = serializers.IntegerField(
524         help_text="vcpu",
525         required=True,
526         allow_null=True)
527
528
529 class FlavorInfoSerializer(serializers.Serializer):
530     resp_data = FlavorResponseSerializer(
531         help_text="the response data",
532         many=True)
533
534
535 class NetworkResponseSerializer(serializers.Serializer):
536     networkid = serializers.CharField(
537         help_text="networkid",
538         required=True,
539         max_length=255,
540         allow_null=True)
541     vimid = serializers.CharField(
542         help_text="vimid",
543         required=True,
544         max_length=255,
545         allow_null=True)
546     resouceid = serializers.CharField(
547         help_text="resouceid",
548         required=True,
549         max_length=255,
550         allow_null=True)
551     insttype = serializers.IntegerField(
552         help_text="insttype",
553         required=True,
554         allow_null=True)
555     instid = serializers.CharField(
556         help_text="instid",
557         required=True,
558         max_length=255,
559         allow_null=True)
560     name = serializers.CharField(
561         help_text="name",
562         required=True,
563         max_length=255,
564         allow_null=True)
565
566
567 class NetworkInfoSerializer(serializers.Serializer):
568     resp_data = NetworkResponseSerializer(
569         help_text="the response data",
570         many=True)
571
572
573 class SubnetResponseSerializer(serializers.Serializer):
574     subnetworkid = serializers.CharField(
575         help_text="subnetworkid",
576         required=True,
577         max_length=255,
578         allow_null=True)
579     vimid = serializers.CharField(
580         help_text="vimid",
581         required=True,
582         max_length=255,
583         allow_null=True)
584     resouceid = serializers.CharField(
585         help_text="resouceid",
586         required=True,
587         max_length=255,
588         allow_null=True)
589     networkid = serializers.CharField(
590         help_text="networkid",
591         required=True,
592         max_length=255,
593         allow_null=True)
594     insttype = serializers.IntegerField(
595         help_text="insttype",
596         required=True,
597         allow_null=True)
598     instid = serializers.CharField(
599         help_text="instid",
600         required=True,
601         max_length=255,
602         allow_null=True)
603     name = serializers.CharField(
604         help_text="name",
605         required=True,
606         max_length=255,
607         allow_null=True)
608     cidr = serializers.CharField(
609         help_text="cidr",
610         required=True,
611         max_length=255,
612         allow_null=True)
613
614
615 class SubnetInfoSerializer(serializers.Serializer):
616     resp_data = SubnetResponseSerializer(
617         help_text="the response data",
618         many=True)
619
620
621 class CpResponseSerializer(serializers.Serializer):
622     cpinstanceid = serializers.CharField(
623         help_text="cpinstanceid",
624         required=True,
625         max_length=255,
626         allow_null=True)
627     cpdid = serializers.CharField(
628         help_text="cpdid",
629         required=True,
630         max_length=255,
631         allow_null=True)
632     cpinstancename = serializers.CharField(
633         help_text="cpinstancename",
634         required=True,
635         max_length=255,
636         allow_null=True)
637     vlinstanceid = serializers.CharField(
638         help_text="vlinstanceid",
639         required=True,
640         max_length=255,
641         allow_null=True)
642     ownertype = serializers.IntegerField(
643         help_text="ownertype",
644         required=True,
645         allow_null=True)
646     ownerid = serializers.CharField(
647         help_text="ownerid",
648         required=True,
649         max_length=255,
650         allow_null=True)
651     relatedtype = serializers.IntegerField(
652         help_text="relatedtype",
653         required=True,
654         allow_null=True)
655
656
657 class CpsInfoSerializer(serializers.Serializer):
658     resp_data = CpResponseSerializer(
659         help_text="the response data",
660         many=True)
661
662
663 class VolumeResponseSerializer(serializers.Serializer):
664     storageid = serializers.CharField(
665         help_text="storageid",
666         required=True,
667         max_length=255,
668         allow_null=True)
669     vimid = serializers.CharField(
670         help_text="vimid",
671         required=True,
672         max_length=255,
673         allow_null=True)
674     resouceid = serializers.CharField(
675         help_text="resouceid",
676         required=True,
677         max_length=255,
678         allow_null=True)
679     insttype = serializers.IntegerField(
680         help_text="insttype",
681         required=True,
682         allow_null=True)
683     instid = serializers.CharField(
684         help_text="instid",
685         required=True,
686         max_length=255,
687         allow_null=True)
688     storagetype = serializers.CharField(
689         help_text="storagetype",
690         required=True,
691         max_length=255,
692         allow_null=True)
693     size = serializers.CharField(
694         help_text="size",
695         required=True,
696         max_length=255,
697         allow_null=True)
698
699
700 class VolumeInfoSerializer(serializers.Serializer):
701     resp_data = VolumeResponseSerializer(
702         help_text="the response data",
703         many=True)