1 # Copyright 2017 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 django.db import models
18 class NfInstModel(models.Model):
22 nfinstid = models.CharField(db_column='NFINSTID', max_length=200, primary_key=True)
23 nf_name = models.CharField(db_column='NFNAME', max_length=100, blank=True, null=True) # CreateVnfRequest.vnfInstanceName
24 vnfminstid = models.CharField(max_length=255, db_column='VNFMINSTID')
25 package_id = models.CharField(db_column='PACKAGEID', max_length=200, blank=True, null=True)
26 status = models.CharField(db_column='STATUS', max_length=20, blank=True, null=True)
27 flavour_id = models.CharField(db_column='FLAVOURID', max_length=200, blank=True, null=True) # InstantiateVnfRequest.flavourId
28 location = models.CharField(db_column='LOCATION', max_length=200, blank=True, null=True)
29 version = models.CharField(db_column='VERSION', max_length=255, null=True)
30 vendor = models.CharField(db_column='VENDOR', max_length=255, null=True, blank=True)
31 netype = models.CharField(db_column='NETYPE', max_length=255, null=True)
32 vnfd_model = models.TextField(db_column='VNFDMODEL', max_length=20000, blank=True, null=True)
33 input_params = models.TextField(db_column='INPUTPARAMS', max_length=2000, blank=True, null=True) # InstantiateVnfRequest.additionalParams
34 create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
35 lastuptime = models.CharField(db_column='LASTUPTIME', max_length=200, blank=True, null=True)
37 nf_desc = models.CharField(db_column='VNFINSTANCEDESC', max_length=200, blank=True, null=True)
38 vnfdid = models.CharField(db_column='VNFDID', max_length=200, blank=True, null=True)
39 vnfSoftwareVersion = models.CharField(db_column='VNFSOFTWAREVER', max_length=200, blank=True, null=True)
40 vnfConfigurableProperties = models.TextField(db_column='VNFCONFIGURABLEPROPERTIES', max_length=20000, blank=True, null=True)
41 localizationLanguage = models.CharField(db_column='LOCALIZATIONLANGUAGE', max_length=255, null=True)
42 operationState = models.CharField(db_column='OPERATIONSTATE', max_length=255, null=True)
43 resInfo = models.TextField(db_column='RESINFO', max_length=20000, blank=True, null=True)
44 vimInfo = models.TextField(db_column='VIMINFO', max_length=20000, blank=True, null=True)
47 class JobModel(models.Model):
53 jobid = models.CharField(db_column='JOBID', primary_key=True, max_length=255)
54 jobtype = models.CharField(db_column='JOBTYPE', max_length=255)
55 jobaction = models.CharField(db_column='JOBACTION', max_length=255)
56 resid = models.CharField(db_column='RESID', max_length=255)
57 status = models.IntegerField(db_column='STATUS', null=True, blank=True)
58 starttime = models.CharField(db_column='STARTTIME', max_length=255, null=True, blank=True)
59 endtime = models.CharField(db_column='ENDTIME', max_length=255, null=True, blank=True)
60 progress = models.IntegerField(db_column='PROGRESS', null=True, blank=True)
61 user = models.CharField(db_column='USER', max_length=255, null=True, blank=True)
62 parentjobid = models.CharField(db_column='PARENTJOBID', max_length=255, null=True, blank=True)
63 resname = models.CharField(db_column='RESNAME', max_length=255, null=True, blank=True)
67 return json.dumps(dict([(attr, getattr(self, attr)) for attr in [f.name for f in self._meta.fields]]))
70 class JobStatusModel(models.Model):
72 db_table = 'JOB_STATUS'
76 indexid = models.IntegerField(db_column='INDEXID')
77 jobid = models.CharField(db_column='JOBID', max_length=255)
78 status = models.CharField(db_column='STATUS', max_length=255)
79 progress = models.IntegerField(db_column='PROGRESS', null=True, blank=True)
80 descp = models.TextField(db_column='DESCP', max_length=1024)
81 errcode = models.CharField(db_column='ERRCODE', max_length=255, null=True, blank=True)
82 addtime = models.CharField(db_column='ADDTIME', max_length=255, null=True, blank=True)
86 return json.dumps(dict([(attr, getattr(self, attr)) for attr in [f.name for f in self._meta.fields]]))
89 class NfvoRegInfoModel(models.Model):
91 db_table = 'NFVOREGINFO'
93 nfvoid = models.CharField(max_length=255, primary_key=True, db_column='NFVOID')
94 vnfminstid = models.CharField(max_length=255, db_column='VNFMINSTID')
95 apiurl = models.CharField(max_length=255, db_column='URL')
96 nfvouser = models.CharField(max_length=255, db_column='USERNAME', null=True)
97 nfvopassword = models.CharField(max_length=255, db_column='PASSWD', null=True)
98 authtype = models.IntegerField(db_column='AUTHTYPE', default=2)
99 clientcert = models.CharField(max_length=255, db_column='CLIENTCERT', null=True)
100 servercert = models.CharField(max_length=255, db_column='SERVERCERT', null=True)
101 regtime = models.CharField(max_length=255, db_column='REGTIME')
104 class StorageInstModel(models.Model):
106 db_table = 'STORAGEINST'
108 storageid = models.CharField(db_column='STORAGEID', primary_key=True, max_length=255)
109 vimid = models.CharField(db_column='VIMID', max_length=255)
110 resourceid = models.CharField(db_column='RESOURCEID', max_length=255)
111 insttype = models.IntegerField(db_column='INSTTYPE')
112 instid = models.CharField(db_column='INSTID', max_length=255)
113 name = models.CharField(db_column='NAME', max_length=255, null=True)
114 storagetype = models.CharField(db_column='STORAGETYPE', max_length=255)
115 size = models.CharField(db_column='SIZE', max_length=255)
116 # rdmaenabled = models.IntegerField(db_column='RDMAENABLED', null=True)
117 # disktype = models.CharField(db_column='DISKTYPE', max_length=255)
118 # ownerid = models.CharField(db_column='OWNERID', max_length=255, null=True)
119 # zoneid = models.CharField(db_column='ZONEID', max_length=255, null=True)
120 # hostid = models.CharField(db_column='HOSTID', max_length=255, null=True)
121 # operationalstate = models.CharField(db_column='OPERATIONALSTATE', max_length=255, null=True)
122 tenant = models.CharField(db_column='TENANT', max_length=50, null=True)
123 is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
124 create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
125 nodeId = models.CharField(db_column='NODEID', max_length=255, null=True)
128 class VmInstModel(models.Model):
132 vmid = models.CharField(db_column='VMID', primary_key=True, max_length=255)
133 vimid = models.CharField(db_column='VIMID', max_length=255)
134 tenant = models.CharField(db_column='TENANT', max_length=255, null=True)
135 resourceid = models.CharField(db_column='RESOURCEID', max_length=255)
136 vmname = models.CharField(db_column='VMNAME', max_length=255)
137 nic_array = models.CharField(db_column='NICARRAY', max_length=255)
138 metadata = models.CharField(db_column='METADATA', max_length=255)
139 volume_array = models.CharField(db_column='VOLUMEARRAY', max_length=255)
140 server_group = models.CharField(db_column='SERVERGROUP', max_length=255)
141 availability_zone = models.CharField(db_column='AVAILABILITYZONE', max_length=255)
142 flavor_id = models.CharField(db_column='FLAVORID', max_length=255)
143 security_groups = models.CharField(db_column='SECURITYGROUPS', max_length=255)
144 operationalstate = models.CharField(db_column='OPERATIONALSTATE', max_length=255, null=True)
145 insttype = models.IntegerField(db_column='INSTTYPE')
146 is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
147 create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
148 instid = models.CharField(db_column='INSTID', max_length=255)
149 nodeId = models.CharField(db_column='NODEID', max_length=255, null=True)
152 class VNFCInstModel(models.Model):
154 db_table = 'VNFCINST'
156 vnfcinstanceid = models.CharField(db_column='VNFCINSTANCEID', max_length=255, primary_key=True)
157 vduid = models.CharField(db_column='VDUID', max_length=255)
158 vdutype = models.CharField(db_column='VDUTYPE', max_length=255)
159 instid = models.CharField(db_column='NFINSTID', max_length=255)
160 vmid = models.CharField(db_column='VMID', max_length=255)
161 is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
164 class FlavourInstModel(models.Model):
166 db_table = 'FLAVOURINST'
168 flavourid = models.CharField(db_column='FLAVOURID', max_length=255, primary_key=True)
169 vimid = models.CharField(db_column='VIMID', max_length=255)
170 resourceid = models.CharField(db_column='RESOURCEID', max_length=255)
171 name = models.CharField(db_column='NAME', max_length=255)
172 tenant = models.CharField(db_column='TENANT', max_length=255, null=True)
173 vcpu = models.IntegerField(db_column='VCPU', null=True)
174 memory = models.IntegerField(db_column='MEMORY', null=True)
175 disk = models.IntegerField(db_column='DISK', null=True)
176 ephemeral = models.IntegerField(db_column='EPHEMERAL', null=True)
177 swap = models.IntegerField(db_column='SWAP', null=True)
178 isPublic = models.IntegerField(db_column='ISPUBLIC', null=True)
179 extraspecs = models.TextField(db_column='EXTRASPECS', max_length=4096)
180 instid = models.CharField(db_column='INSTID', max_length=255)
181 create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
182 is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
185 class NetworkInstModel(models.Model):
187 db_table = 'NETWORKINST'
189 networkid = models.CharField(db_column='NETWORKID', primary_key=True, max_length=255)
190 vimid = models.CharField(db_column='VIMID', max_length=255)
191 resourceid = models.CharField(db_column='RESOURCEID', max_length=255)
192 insttype = models.IntegerField(db_column='INSTTYPE')
193 instid = models.CharField(db_column='INSTID', max_length=255)
194 name = models.CharField(db_column='NAME', max_length=255)
195 tenant = models.CharField(db_column='TENANT', max_length=255, null=True)
196 is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
197 desc = models.CharField(db_column='DESC', max_length=255, null=True)
198 vendor = models.CharField(db_column='VENDOR', max_length=255, null=True)
199 bandwidth = models.IntegerField(db_column='BANDWIDTH', null=True)
200 mtu = models.IntegerField(db_column='MTU', null=True)
201 network_type = models.CharField(db_column='NETWORKTYPE', max_length=255, null=True)
202 segmentid = models.CharField(db_column='SEGMENTID', max_length=255, null=True)
203 networkqos = models.CharField(db_column='NETWORKQOS', max_length=255, null=True)
204 create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
205 physicalNetwork = models.CharField(db_column='PHYNETWORK', max_length=255, null=True)
206 is_shared = models.IntegerField(db_column='ISSHARED', default=0, null=True)
207 vlantrans = models.IntegerField(db_column='VLANTRANS', null=True)
208 routerExternal = models.IntegerField(db_column='ROUTEREXTERNAL', default=0, null=True)
209 nodeId = models.CharField(db_column='NODEID', max_length=255, null=True)
212 class SubNetworkInstModel(models.Model):
214 db_table = 'SUBNETWORKINST'
216 subnetworkid = models.CharField(db_column='SUBNETWORKID', primary_key=True, max_length=255)
217 vimid = models.CharField(db_column='VIMID', max_length=255)
218 resourceid = models.CharField(db_column='RESOURCEID', max_length=255)
219 networkid = models.CharField(db_column='NETWORKID', max_length=255)
220 insttype = models.IntegerField(db_column='INSTTYPE')
221 instid = models.CharField(db_column='INSTID', max_length=255)
222 name = models.CharField(db_column='NAME', max_length=255)
223 ipversion = models.IntegerField(db_column='IPVERSION', null=True)
224 gatewayip = models.CharField(db_column='GATEWAYIP', max_length=255, null=True)
225 isdhcpenabled = models.IntegerField(db_column='ISDHCPENABLED', null=True)
226 cidr = models.CharField(db_column='CIDR', max_length=255)
227 vdsname = models.CharField(db_column='VDSNAME', max_length=255, null=True)
228 operationalstate = models.CharField(db_column='OPERATIONALSTATE', max_length=255, null=True)
229 tenant = models.CharField(db_column='TENANT', max_length=255, null=True)
230 is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
231 create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
232 dnsNameservers = models.TextField(db_column='DNSNAMESERVERS', max_length=1024)
233 hostRoutes = models.TextField(db_column='HOSTROUTES', max_length=1024)
234 allocationPools = models.TextField(db_column='ALLOCATIONPOOLS', max_length=1024)
237 class VLInstModel(models.Model):
241 vlinstanceid = models.CharField(db_column='VLINSTANCEID', max_length=255, primary_key=True)
242 vldid = models.CharField(db_column='VLDID', max_length=255)
243 vlinstancename = models.CharField(db_column='VLINSTANCENAME', max_length=255, blank=True, null=True)
244 ownertype = models.IntegerField(db_column='OWNERTYPE')
245 ownerid = models.CharField(db_column='OWNERID', max_length=255)
246 relatednetworkid = models.CharField(db_column='RELATEDNETWORKID', max_length=255, blank=True, null=True)
247 relatedsubnetworkid = models.CharField(db_column='RELATEDSUBNETWORKID', max_length=255, blank=True, null=True)
248 vltype = models.IntegerField(db_column='VLTYPE', default=0)
249 vimid = models.CharField(db_column='VIMID', max_length=255)
250 tenant = models.CharField(db_column='TENANT', max_length=50)
253 class PortInstModel(models.Model):
255 db_table = 'PORTINST'
257 portid = models.CharField(db_column='PORTID', primary_key=True, max_length=255)
258 networkid = models.CharField(db_column='NETWORKID', max_length=255)
259 subnetworkid = models.CharField(db_column='SUBNETWORKID', max_length=255, null=True)
260 vimid = models.CharField(db_column='VIMID', max_length=255)
261 resourceid = models.CharField(db_column='RESOURCEID', max_length=255)
262 name = models.CharField(db_column='NAME', max_length=255, null=True)
263 insttype = models.IntegerField(db_column='INSTTYPE')
264 instid = models.CharField(db_column='INSTID', max_length=255)
265 cpinstanceid = models.CharField(db_column='CPINSTANCEID', max_length=255, null=True)
266 bandwidth = models.CharField(db_column='BANDWIDTH', max_length=255, null=True)
267 operationalstate = models.CharField(db_column='OPERATIONALSTATE', max_length=255, null=True)
268 ipaddress = models.CharField(db_column='IPADDRESS', max_length=255)
269 macaddress = models.CharField(db_column='MACADDRESS', max_length=255)
270 nicorder = models.CharField(db_column='NICORDER', max_length=255)
271 floatipaddress = models.CharField(db_column='FLOATIPADDRESS', max_length=255, null=True)
272 serviceipaddress = models.CharField(db_column='SERVICEIPADDRESS', max_length=255, null=True)
273 typevirtualnic = models.CharField(db_column='TYPEVIRTUALNIC', max_length=255, null=True)
274 sfcencapsulation = models.CharField(db_column='SFCENCAPSULATION', max_length=255, null=True)
275 direction = models.CharField(db_column='DIRECTION', max_length=255, null=True)
276 tenant = models.CharField(db_column='TENANT', max_length=255, null=True)
277 interfacename = models.CharField(db_column='INTERFACENAME', max_length=255, blank=True, null=True)
278 vmid = models.CharField(db_column='VMID', max_length=255, blank=True, null=True)
279 create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
280 securityGroups = models.CharField(db_column='SECURITYGROUPS', max_length=255)
281 is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
282 nodeId = models.CharField(db_column='NODEID', max_length=255, null=True)
285 class CPInstModel(models.Model):
289 cpinstanceid = models.CharField(db_column='CPINSTANCEID', max_length=255, primary_key=True)
290 cpdid = models.CharField(db_column='CPDID', max_length=255)
291 cpinstancename = models.CharField(db_column='CPINSTANCENAME', max_length=255)
292 vlinstanceid = models.CharField(db_column='VLINSTANCEID', max_length=255)
293 ownertype = models.IntegerField(db_column='OWNERTYPE')
294 ownerid = models.CharField(db_column='OWNERID', max_length=255)
295 relatedtype = models.IntegerField(db_column='RELATEDTYPE')
296 relatedvl = models.CharField(db_column='RELATEDVL', max_length=255, blank=True, null=True)
297 relatedcp = models.CharField(db_column='RELATEDCP', max_length=255, blank=True, null=True)
298 relatedport = models.CharField(db_column='RELATEDPORT', max_length=255, blank=True, null=True)
301 class SubscriptionModel(models.Model):
303 db_table = 'SUBSCRIPTION'
304 subscription_id = models.CharField(db_column='SUBSCRIPTIONID', max_length=255, primary_key=True)
305 callback_uri = models.CharField(db_column='CALLBACKURI', max_length=255)
306 auth_info = models.TextField(db_column='AUTHINFO', max_length=20000, blank=True, null=True)
307 notification_types = models.TextField(db_column='NOTIFICATIONTYPES',
309 operation_types = models.TextField(db_column='OPERATIONTYPES',
311 operation_states = models.TextField(db_column='OPERATIONSTATES',
313 vnf_instance_filter = models.TextField(db_column='VNFINSTANCEFILTER',
315 links = models.TextField(db_column='LINKS', max_length=20000)
318 class VNFLcmOpOccModel(models.Model):
320 db_table = 'VNFLCMOPOCCS'
322 id = models.CharField(db_column='ID', max_length=255, primary_key=True)
323 operation_state = models.CharField(db_column='OPERATIONSTATE', null=False, max_length=30)
324 state_entered_time = models.CharField(db_column='STATEENTEREDTIME', null=False, max_length=30)
325 start_time = models.CharField(db_column='STARTTIME', null=False, max_length=30)
326 vnf_instance_id = models.CharField(db_column='VNFINSTANCEID', null=False, max_length=255)
327 grant_id = models.CharField(db_column='GRANTID', null=True, max_length=255)
328 operation = models.CharField(db_column='OPERATION', null=False, max_length=30)
329 sub_operation = models.CharField(db_column='SUBOPERATION', null=True, max_length=30)
330 is_automatic_invocation = models.CharField(db_column='ISAUTOMATICINVOCATION', null=False, max_length=5)
331 operation_params = models.TextField(db_column='OPERATIONPARAMS', null=False)
332 is_cancel_pending = models.CharField(db_column='ISCANCELPENDING', null=False, max_length=5)
333 cancel_mode = models.TextField(db_column='CANCELMODE', null=True)
334 error = models.TextField(db_column='ERROR', null=True)
335 resource_changes = models.TextField(db_column='RESOURCECHANGES', null=True)
336 changed_info = models.TextField(db_column='CHANGEDINFO', null=True)
337 changed_ext_connectivity = models.TextField(db_column='CHANGEDEXTCONNECTIVITY', null=True)
338 links = models.TextField(db_column='LINKS', null=False)