Add vfc-vnfres getVnfs auto-swagger
[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(help_text="resourceId", required=True)
20     vimId = serializers.CharField(help_text="vimId", required=True)
21
22
23 class virtualStorageResourceInfoSerializer(serializers.Serializer):
24     virtualStorageInstanceId = serializers.CharField(help_text="virtualStorageInstanceId", required=True)
25     virtualStorageDescId = serializers.CharField(help_text="virtualStorageDescId", required=True, allow_null=True)
26     storageResource = ResourceSerializer(help_text="storageResource", required=True)
27
28
29 class virtualLinkResourceInfoSerializer(serializers.Serializer):
30     virtualLinkInstanceId = serializers.IntegerField(help_text="virtualLinkInstanceId", required=True, allow_null=True)
31     virtualLinkDescId = serializers.IntegerField(help_text="virtualLinkDescId", required=True, allow_null=True)
32     networkResource = ResourceSerializer(help_text="networkResource", required=True, allow_null=True)
33
34
35 class vnfcResourceInfoSerializer(serializers.Serializer):
36     vnfcInstanceId = serializers.IntegerField(help_text="vnfcInstanceId", required=True, allow_null=True)
37     vduId = serializers.IntegerField(help_text="vduId", required=True, allow_null=True)
38     storageResourceIds = serializers.IntegerField(help_text="storageResourceIds", required=True, allow_null=True)
39     computeResource = ResourceSerializer(help_text="computeResource", required=True, allow_null=True)
40
41
42 class accessInfoSerializer(serializers.Serializer):
43     tenant = serializers.CharField(help_text="tenant", required=True)
44     username = serializers.CharField(help_text="username", required=True)
45     password = serializers.CharField(help_text="password", required=True)
46
47
48 class InterfaceInfoSerializer(serializers.Serializer):
49     vimType = serializers.CharField(help_text="vimType", required=True)
50     apiVersion = serializers.CharField(help_text="apiVersion", required=True)
51     protocolType = serializers.ChoiceField(help_text="protocolType", choices=['http', 'https'], required=True)
52
53
54 class VmResponseSerializer(serializers.Serializer):
55     vmid = serializers.CharField(help_text="vmid", required=True, allow_null=True)
56     vimid = serializers.CharField(help_text="the vim id", required=True, allow_null=True)
57     resouceid = serializers.CharField(help_text="the resouce id", required=True, allow_null=True)
58     tenant = serializers.CharField(help_text="tenant", required=True, allow_null=True)
59     instid = serializers.CharField(help_text="the inst id", required=True, allow_null=True)
60     vmname = serializers.CharField(help_text="vmname", required=True, allow_null=True)
61     insttype = serializers.IntegerField(help_text="insttype", required=True, allow_null=True)
62     operationalstate = serializers.CharField(help_text="operationalstate", required=True, allow_null=True)
63     is_predefined = serializers.IntegerField(help_text="is_predefined", required=True, allow_null=True)
64     security_groups = serializers.CharField(help_text="security_groups", required=True, allow_null=True)
65     flavor_id = serializers.CharField(help_text="flavor_id", required=True, allow_null=True)
66     availability_zone = serializers.CharField(help_text="availability_zone", required=True, allow_null=True)
67     server_group = serializers.CharField(help_text="server_group", required=True, allow_null=True)
68     volume_array = serializers.CharField(help_text="volume_array", required=True, allow_null=True)
69     metadata = serializers.CharField(help_text="metadata", required=True, allow_null=True)
70     nic_array = serializers.CharField(help_text="nic_array", required=True, allow_null=True)
71     create_time = serializers.CharField(help_text="create_time", required=False, allow_null=True)
72     nodeId = serializers.CharField(help_text="nodeId", required=False, allow_null=True)
73
74
75 class vimInfoSerializer(serializers.Serializer):
76     vimInfoId = serializers.CharField(help_text="vimInfoId", required=False, allow_null=True)
77     vimId = serializers.CharField(help_text="vimId", required=False, allow_null=True)
78     interfaceEndpoint = serializers.CharField(help_text="interfaceEndpoint", required=False, allow_null=True)
79     interfaceInfo = InterfaceInfoSerializer(help_text="vimInfoId", required=False, allow_null=True)
80     accessInfo = accessInfoSerializer(help_text="accessInfo", required=False, allow_null=True)
81
82
83 class monitoringParametersSerializer(serializers.Serializer):
84     pass
85
86
87 class linkPortsSerializer(serializers.Serializer):
88     resourceId = serializers.CharField(help_text="resourceId", required=True)
89     vimId = serializers.CharField(help_text="vimId", required=False)
90
91
92 class resourceHandleSerializer(serializers.Serializer):
93     resourceId = serializers.CharField(help_text="resourceId", required=True)
94     vimId = serializers.CharField(help_text="vimId", required=False)
95     resourceProviderId = serializers.CharField(help_text="resourceProviderId", required=False)
96
97
98 class ExtVirtualLinkInfoSerializer(serializers.Serializer):
99     extVirtualLinkId = serializers.CharField(help_text="extVirtualLinkId", required=True)
100     resourceHandle = resourceHandleSerializer(help_text="iPAddress", required=True)
101     linkPorts = linkPortsSerializer(help_text="iPAddress", many=True, allow_null=True)
102
103
104 class l3AddressDataSerializer(serializers.Serializer):
105     iPAddressType = serializers.ChoiceField(help_text="iPAddressType", choices=['IPv4', 'IPv6'], required=True)
106     iPAddress = serializers.CharField(help_text="iPAddress", required=True)
107
108
109 class NetworkAddressSerializer(serializers.Serializer):
110     addressType = serializers.ChoiceField(help_text="addressType", choices=['MAC', 'IP'], required=True)
111     l2AddressData = serializers.CharField(help_text="l2AddressData", required=False)
112     l3AddressData = l3AddressDataSerializer(help_text="addresses", required=False)
113
114
115 class extCpInfoSerializer(serializers.Serializer):
116     cpInstanceId = serializers.CharField(help_text="cpInstanceId", required=False, allow_null=True)
117     cpdId = serializers.IntegerField(help_text="cpdId", required=True)
118     numDynamicAddresses = serializers.IntegerField(help_text="numDynamicAddresses", required=False, allow_null=True)
119     addresses = NetworkAddressSerializer(help_text="addresses", many=True, allow_null=True)
120
121
122 class ScaleInfoSerializer(serializers.Serializer):
123     aspectId = serializers.CharField(help_text="aspectId", required=True, allow_null=True)
124     scaleLevel = serializers.IntegerField(help_text="scaleLevel", required=True, allow_null=True)
125
126
127 class instantiatedVnfInfoSerializer(serializers.Serializer):
128     flavourId = serializers.CharField(help_text="flavour Id", required=True, allow_null=True)
129     vnfState = serializers.ChoiceField(help_text="vnf State", choices=['STARTED', 'STOPPED'], required=True, allow_null=True)
130     localizationLanguage = serializers.CharField(help_text="localizationLanguage", required=True, allow_null=True)
131     scaleStatus = ScaleInfoSerializer(help_text="scaleStatus", many=True)
132     extCpInfo = extCpInfoSerializer(help_text="extCpInfo", many=True)
133     extVirtualLink = ExtVirtualLinkInfoSerializer(help_text="extVirtualLink", many=True)
134     monitoringParameters = monitoringParametersSerializer(help_text="monitoringParameters", allow_null=True)
135     vmInfo = VmResponseSerializer(help_text="vmInfo", many=True, allow_null=True)
136     vimInfo = vimInfoSerializer(help_text="vimInfo", many=True, required=False, allow_null=True)
137     vnfcResourceInfo = vnfcResourceInfoSerializer(help_text="vnfcResourceInfo", many=True)
138     virtualLinkResourceInfo = virtualLinkResourceInfoSerializer(help_text="virtualLinkResourceInfo", many=True)
139     virtualStorageResourceInfo = virtualStorageResourceInfoSerializer(help_text="virtualStorageResourceInfo", many=True)
140
141
142 class VnfInfoSerializer(serializers.Serializer):
143     vnfInstanceId = serializers.CharField(help_text="vnf Instance Id", required=True)
144     vnfInstanceName = serializers.CharField(help_text="vnf Instance Name", required=True)
145     vnfInstanceDescription = serializers.CharField(help_text="vnfInstanceDescription", required=True, allow_null=True)
146     onboardedVnfPkgInfoId = serializers.CharField(help_text="onboarded Vnf Pkg Info Id", required=False, allow_null=True)
147     vnfdId = serializers.CharField(help_text="vnfdId", required=True, allow_null=True)
148     vnfdVersion = serializers.CharField(help_text="vnfd Version", required=False, allow_null=True)
149     vnfSoftwareVersion = serializers.CharField(help_text="vnfSoftwareVersion", required=True, allow_null=True)
150     vnfProvider = serializers.CharField(help_text="vnf Provider", required=False, allow_null=True)
151     vnfProductName = serializers.CharField(help_text="vnfProductName", required=False, allow_null=True)
152     vnfConfigurableProperties = serializers.CharField(help_text="vnfConfigurableProperties", required=False, allow_null=True)
153     instantiationState = serializers.CharField(help_text="instantiationState", required=False, allow_null=True)
154     extensions = serializers.CharField(help_text="extensions", required=False, allow_null=True)
155     metadata = serializers.CharField(help_text="metadata", required=False, allow_null=True)
156     instantiatedVnfInfo = instantiatedVnfInfoSerializer(help_text="instantiatedVnfInfo", required=True)
157
158
159 class VnfsInfoSerializer(serializers.Serializer):
160     resp_data = VnfInfoSerializer(help_text="the response data", many=True)
161
162
163 class VmInfoSerializer(serializers.Serializer):
164     resp_data = VmResponseSerializer(help_text="the response data", many=True)
165
166
167 class FlavorResponseSerializer(serializers.Serializer):
168     flavourid = serializers.CharField(help_text="flavourid", required=True)
169     vimid = serializers.CharField(help_text="the vim id", required=True)
170     resouceid = serializers.CharField(help_text="the resouce id", required=True)
171     tenant = serializers.CharField(help_text="tenant", required=True, allow_null=True)
172     instid = serializers.CharField(help_text="the inst id", required=True)
173     name = serializers.CharField(help_text="name", required=True)
174     extraspecs = serializers.CharField(help_text="extraspecs", required=True)
175     create_time = serializers.CharField(help_text="create_time", required=True, allow_null=True)
176     memory = serializers.IntegerField(help_text="memory", required=True)
177     vcpu = serializers.IntegerField(help_text="vcpu", required=True)
178
179
180 class FlavorInfoSerializer(serializers.Serializer):
181     resp_data = FlavorResponseSerializer(help_text="the response data", many=True)
182
183
184 class NetworkResponseSerializer(serializers.Serializer):
185     networkid = serializers.CharField(help_text="networkid", required=True)
186     vimid = serializers.CharField(help_text="the vim id", required=True)
187     resouceid = serializers.CharField(help_text="the resouce id", required=True)
188     insttype = serializers.IntegerField(help_text="the inst type", required=True)
189     instid = serializers.CharField(help_text="the inst id", required=True)
190     name = serializers.CharField(help_text="name", required=True)
191
192
193 class NetworkInfoSerializer(serializers.Serializer):
194     resp_data = NetworkResponseSerializer(help_text="the response data", many=True)
195
196
197 class SubnetResponseSerializer(serializers.Serializer):
198     subnetworkid = serializers.CharField(help_text="the subnetwork id", required=True)
199     vimid = serializers.CharField(help_text="the vim id", required=True)
200     resouceid = serializers.CharField(help_text="the resouce id", required=True)
201     networkid = serializers.CharField(help_text="the network id", required=True)
202     insttype = serializers.IntegerField(help_text="the inst type", required=True)
203     instid = serializers.CharField(help_text="the inst id", required=True)
204     name = serializers.CharField(help_text="name", required=True)
205     cidr = serializers.CharField(help_text="cidr", required=True)
206
207
208 class SubnetInfoSerializer(serializers.Serializer):
209     resp_data = SubnetResponseSerializer(help_text="the response data", many=True)
210
211
212 class CpResponseSerializer(serializers.Serializer):
213     cpinstanceid = serializers.CharField(help_text="the cp instance id", required=True)
214     cpdid = serializers.CharField(help_text="the cpd id", required=True)
215     cpinstancename = serializers.CharField(help_text="the cp instance name of vnf", required=True)
216     vlinstanceid = serializers.CharField(help_text="the vl instance id of vnf", required=True)
217     ownertype = serializers.IntegerField(help_text="the owner type of vnf", required=True)
218     ownerid = serializers.CharField(help_text="the owner id of vnf", required=True)
219     relatedtype = serializers.IntegerField(help_text="the related type", required=True)
220
221
222 class CpsInfoSerializer(serializers.Serializer):
223     resp_data = CpResponseSerializer(help_text="the response data", many=True)
224
225
226 class VolumeResponseSerializer(serializers.Serializer):
227     storageid = serializers.CharField(help_text="the storage id", required=True)
228     vimid = serializers.CharField(help_text="the vim id", required=True)
229     resouceid = serializers.CharField(help_text="the resouce id of vnf", required=True)
230     insttype = serializers.IntegerField(help_text="the inst type of vnf", required=True)
231     instid = serializers.CharField(help_text="the inst id of vnf", required=True)
232     storagetype = serializers.CharField(help_text="the storage type of vnf", required=True)
233     size = serializers.CharField(help_text="the size of storage", required=True)
234
235
236 class VolumeInfoSerializer(serializers.Serializer):
237     resp_data = VolumeResponseSerializer(help_text="the response data", many=True)