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
18 class ResourceSerializer(serializers.Serializer):
19 resourceId = serializers.CharField(
20 help_text="ID of resource",
24 vimId = serializers.CharField(
25 help_text="ID of VIM",
31 class VirtualStorageResourceInfoSerializer(serializers.Serializer):
32 virtualStorageInstanceId = serializers.CharField(
33 help_text="ID of virtual storage instance",
37 virtualStorageDescId = serializers.CharField(
38 help_text="Description ID of virtual storage",
42 storageResource = ResourceSerializer(
43 help_text="Storage resource",
48 class VirtualLinkResourceInfoSerializer(serializers.Serializer):
49 virtualLinkInstanceId = serializers.CharField(
50 help_text="ID of virtual link instance",
54 virtualLinkDescId = serializers.CharField(
55 help_text="Description ID of virtual link",
59 networkResource = ResourceSerializer(
60 help_text="Network resource",
65 class VnfcResourceInfoSerializer(serializers.Serializer):
66 vnfcInstanceId = serializers.CharField(
67 help_text="ID of vnfc instance",
71 vduId = serializers.CharField(
72 help_text="Id of virtual data unit",
76 storageResourceIds = serializers.CharField(
77 help_text="ID list of storage resources",
81 computeResource = ResourceSerializer(
82 help_text="Compute resource",
87 class AccessInfoSerializer(serializers.Serializer):
88 tenant = serializers.CharField(
93 username = serializers.CharField(
94 help_text="User Name",
98 password = serializers.CharField(
105 class InterfaceInfoSerializer(serializers.Serializer):
106 vimType = serializers.CharField(
107 help_text="VIM type",
111 apiVersion = serializers.CharField(
112 help_text="API version",
116 protocolType = serializers.ChoiceField(
117 help_text="Protocol type",
118 choices=['http', 'https'],
123 class VmResponseSerializer(serializers.Serializer):
124 vmid = serializers.CharField(
125 help_text="ID of VM",
129 vimid = serializers.CharField(
130 help_text="ID of VIM",
134 resouceid = serializers.CharField(
135 help_text="ID of resource",
139 tenant = serializers.CharField(
144 instid = serializers.CharField(
145 help_text="ID of instance",
149 vmname = serializers.CharField(
150 help_text="Name of VM",
154 insttype = serializers.IntegerField(
155 help_text="Instance type",
158 operationalstate = serializers.CharField(
159 help_text="Operational state",
163 is_predefined = serializers.IntegerField(
164 help_text="Is predefined",
167 security_groups = serializers.CharField(
168 help_text="Security groups",
172 flavor_id = serializers.CharField(
173 help_text="ID of flavor",
177 availability_zone = serializers.CharField(
178 help_text="Availability zone",
182 server_group = serializers.CharField(
183 help_text="Server group",
187 volume_array = serializers.CharField(
188 help_text="Volume array",
192 metadata = serializers.CharField(
193 help_text="Metadata",
197 nic_array = serializers.CharField(
198 help_text="Nic array",
202 create_time = serializers.CharField(
203 help_text="Create time",
207 nodeId = serializers.CharField(
208 help_text="ID of node",
214 class VimInfoSerializer(serializers.Serializer):
215 vimInfoId = serializers.CharField(
216 help_text="vimInfoId",
220 vimId = serializers.CharField(
225 interfaceEndpoint = serializers.CharField(
226 help_text="interfaceEndpoint",
230 interfaceInfo = InterfaceInfoSerializer(
231 help_text="vimInfoId",
234 accessInfo = AccessInfoSerializer(
235 help_text="accessInfo",
240 class LinkPortsSerializer(serializers.Serializer):
241 resourceId = serializers.CharField(
242 help_text="resourceId",
246 vimId = serializers.CharField(
253 class ResourceHandleSerializer(serializers.Serializer):
254 resourceId = serializers.CharField(
255 help_text="resourceId",
259 vimId = serializers.CharField(
264 resourceProviderId = serializers.CharField(
265 help_text="resourceProviderId",
271 class ExtVirtualLinkInfoSerializer(serializers.Serializer):
272 extVirtualLinkId = serializers.CharField(
273 help_text="extVirtualLinkId",
277 resourceHandle = ResourceHandleSerializer(
278 help_text="iPAddress",
280 linkPorts = LinkPortsSerializer(
281 help_text="iPAddress",
286 class L3AddressDataSerializer(serializers.Serializer):
287 iPAddressType = serializers.ChoiceField(
288 help_text="iPAddressType",
289 choices=['IPv4', 'IPv6'],
291 iPAddress = serializers.CharField(
292 help_text="iPAddress",
298 class NetworkAddressSerializer(serializers.Serializer):
299 addressType = serializers.ChoiceField(
300 help_text="addressType",
301 choices=['MAC', 'IP'],
303 l2AddressData = serializers.CharField(
304 help_text="l2AddressData",
308 l3AddressData = L3AddressDataSerializer(
309 help_text="addresses",
313 class ExtCpInfoSerializer(serializers.Serializer):
314 cpInstanceId = serializers.CharField(
315 help_text="cpInstanceId",
319 cpdId = serializers.IntegerField(
323 numDynamicAddresses = serializers.IntegerField(
324 help_text="numDynamicAddresses",
327 addresses = NetworkAddressSerializer(
328 help_text="addresses",
333 class ScaleInfoSerializer(serializers.Serializer):
334 aspectId = serializers.CharField(
335 help_text="aspectId",
339 scaleLevel = serializers.IntegerField(
340 help_text="scaleLevel",
345 class InstantiatedVnfInfoSerializer(serializers.Serializer):
346 flavourId = serializers.CharField(
347 help_text="flavourId",
351 vnfState = serializers.ChoiceField(
352 help_text="vnfState",
353 choices=['STARTED', 'STOPPED'],
356 localizationLanguage = serializers.CharField(
357 help_text="localizationLanguage",
361 scaleStatus = ScaleInfoSerializer(
362 help_text="scaleStatus",
364 extCpInfo = ExtCpInfoSerializer(
365 help_text="extCpInfo",
367 extVirtualLink = ExtVirtualLinkInfoSerializer(
368 help_text="extVirtualLink",
370 monitoringParameters = serializers.DictField(
371 help_text="monitoringParameters",
372 child=serializers.CharField(allow_blank=True),
375 vmInfo = VmResponseSerializer(
379 vimInfo = VimInfoSerializer(
384 vnfcResourceInfo = VnfcResourceInfoSerializer(
385 help_text="vnfcResourceInfo",
387 virtualLinkResourceInfo = VirtualLinkResourceInfoSerializer(
388 help_text="virtualLinkResourceInfo",
390 virtualStorageResourceInfo = VirtualStorageResourceInfoSerializer(
391 help_text="virtualStorageResourceInfo",
395 class VnfInfoSerializer(serializers.Serializer):
396 vnfInstanceId = serializers.CharField(
397 help_text="vnfInstanceId",
401 vnfInstanceName = serializers.CharField(
402 help_text="vnfInstanceName",
406 vnfInstanceDescription = serializers.CharField(
407 help_text="vnfInstanceDescription",
411 onboardedVnfPkgInfoId = serializers.CharField(
412 help_text="onboardedVnfPkgInfoId",
416 vnfdId = serializers.CharField(
421 vnfdVersion = serializers.CharField(
422 help_text="vnfdVersion",
426 vnfSoftwareVersion = serializers.CharField(
427 help_text="vnfSoftwareVersion",
431 vnfProvider = serializers.CharField(
432 help_text="vnfProvider",
436 vnfProductName = serializers.CharField(
437 help_text="vnfProductName",
441 vnfConfigurableProperties = serializers.CharField(
442 help_text="vnfConfigurableProperties",
446 instantiationState = serializers.CharField(
447 help_text="instantiationState",
451 extensions = serializers.CharField(
452 help_text="extensions",
456 metadata = serializers.CharField(
457 help_text="metadata",
461 instantiatedVnfInfo = InstantiatedVnfInfoSerializer(
462 help_text="instantiatedVnfInfo",
466 class VnfsInfoSerializer(serializers.Serializer):
467 resp_data = VnfInfoSerializer(
468 help_text="the response data",
472 class VmInfoSerializer(serializers.Serializer):
473 resp_data = VmResponseSerializer(
474 help_text="the response data",
478 class FlavorResponseSerializer(serializers.Serializer):
479 flavourid = serializers.CharField(
480 help_text="flavourid",
484 vimid = serializers.CharField(
489 resouceid = serializers.CharField(
490 help_text="resouceid",
494 tenant = serializers.CharField(
499 instid = serializers.CharField(
504 name = serializers.CharField(
509 extraspecs = serializers.CharField(
510 help_text="extraspecs",
514 create_time = serializers.CharField(
515 help_text="create_time",
519 memory = serializers.IntegerField(
523 vcpu = serializers.IntegerField(
529 class FlavorInfoSerializer(serializers.Serializer):
530 resp_data = FlavorResponseSerializer(
531 help_text="the response data",
535 class NetworkResponseSerializer(serializers.Serializer):
536 networkid = serializers.CharField(
537 help_text="networkid",
541 vimid = serializers.CharField(
546 resouceid = serializers.CharField(
547 help_text="resouceid",
551 insttype = serializers.IntegerField(
552 help_text="insttype",
555 instid = serializers.CharField(
560 name = serializers.CharField(
567 class NetworkInfoSerializer(serializers.Serializer):
568 resp_data = NetworkResponseSerializer(
569 help_text="the response data",
573 class SubnetResponseSerializer(serializers.Serializer):
574 subnetworkid = serializers.CharField(
575 help_text="subnetworkid",
579 vimid = serializers.CharField(
584 resouceid = serializers.CharField(
585 help_text="resouceid",
589 networkid = serializers.CharField(
590 help_text="networkid",
594 insttype = serializers.IntegerField(
595 help_text="insttype",
598 instid = serializers.CharField(
603 name = serializers.CharField(
608 cidr = serializers.CharField(
615 class SubnetInfoSerializer(serializers.Serializer):
616 resp_data = SubnetResponseSerializer(
617 help_text="the response data",
621 class CpResponseSerializer(serializers.Serializer):
622 cpinstanceid = serializers.CharField(
623 help_text="cpinstanceid",
627 cpdid = serializers.CharField(
632 cpinstancename = serializers.CharField(
633 help_text="cpinstancename",
637 vlinstanceid = serializers.CharField(
638 help_text="vlinstanceid",
642 ownertype = serializers.IntegerField(
643 help_text="ownertype",
646 ownerid = serializers.CharField(
651 relatedtype = serializers.IntegerField(
652 help_text="relatedtype",
657 class CpsInfoSerializer(serializers.Serializer):
658 resp_data = CpResponseSerializer(
659 help_text="the response data",
663 class VolumeResponseSerializer(serializers.Serializer):
664 storageid = serializers.CharField(
665 help_text="storageid",
669 vimid = serializers.CharField(
674 resouceid = serializers.CharField(
675 help_text="resouceid",
679 insttype = serializers.IntegerField(
680 help_text="insttype",
683 instid = serializers.CharField(
688 storagetype = serializers.CharField(
689 help_text="storagetype",
693 size = serializers.CharField(
700 class VolumeInfoSerializer(serializers.Serializer):
701 resp_data = VolumeResponseSerializer(
702 help_text="the response data",