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)
45 class JobModel(models.Model):
51 jobid = models.CharField(db_column='JOBID', primary_key=True, max_length=255)
52 jobtype = models.CharField(db_column='JOBTYPE', max_length=255)
53 jobaction = models.CharField(db_column='JOBACTION', max_length=255)
54 resid = models.CharField(db_column='RESID', max_length=255)
55 status = models.IntegerField(db_column='STATUS', null=True, blank=True)
56 starttime = models.CharField(db_column='STARTTIME', max_length=255, null=True, blank=True)
57 endtime = models.CharField(db_column='ENDTIME', max_length=255, null=True, blank=True)
58 progress = models.IntegerField(db_column='PROGRESS', null=True, blank=True)
59 user = models.CharField(db_column='USER', max_length=255, null=True, blank=True)
60 parentjobid = models.CharField(db_column='PARENTJOBID', max_length=255, null=True, blank=True)
61 resname = models.CharField(db_column='RESNAME', max_length=255, null=True, blank=True)
65 return json.dumps(dict([(attr, getattr(self, attr)) for attr in [f.name for f in self._meta.fields]]))
68 class JobStatusModel(models.Model):
70 db_table = 'JOB_STATUS'
74 indexid = models.IntegerField(db_column='INDEXID')
75 jobid = models.CharField(db_column='JOBID', max_length=255)
76 status = models.CharField(db_column='STATUS', max_length=255)
77 progress = models.IntegerField(db_column='PROGRESS', null=True, blank=True)
78 descp = models.TextField(db_column='DESCP', max_length=1024)
79 errcode = models.CharField(db_column='ERRCODE', max_length=255, null=True, blank=True)
80 addtime = models.CharField(db_column='ADDTIME', max_length=255, null=True, blank=True)
84 return json.dumps(dict([(attr, getattr(self, attr)) for attr in [f.name for f in self._meta.fields]]))
87 class NfvoRegInfoModel(models.Model):
89 db_table = 'NFVOREGINFO'
91 nfvoid = models.CharField(max_length=255, primary_key=True, db_column='NFVOID')
92 vnfminstid = models.CharField(max_length=255, db_column='VNFMINSTID')
93 apiurl = models.CharField(max_length=255, db_column='URL')
94 nfvouser = models.CharField(max_length=255, db_column='USERNAME', null=True)
95 nfvopassword = models.CharField(max_length=255, db_column='PASSWD', null=True)
96 authtype = models.IntegerField(db_column='AUTHTYPE', default=2)
97 clientcert = models.CharField(max_length=255, db_column='CLIENTCERT', null=True)
98 servercert = models.CharField(max_length=255, db_column='SERVERCERT', null=True)
99 regtime = models.CharField(max_length=255, db_column='REGTIME')
102 class StorageInstModel(models.Model):
104 db_table = 'STORAGEINST'
106 storageid = models.CharField(db_column='STORAGEID', primary_key=True, max_length=255)
107 vimid = models.CharField(db_column='VIMID', max_length=255)
108 resourceid = models.CharField(db_column='RESOURCEID', max_length=255)
109 insttype = models.IntegerField(db_column='INSTTYPE')
110 instid = models.CharField(db_column='INSTID', max_length=255)
111 name = models.CharField(db_column='NAME', max_length=255, null=True)
112 storagetype = models.CharField(db_column='STORAGETYPE', max_length=255)
113 size = models.CharField(db_column='SIZE', max_length=255)
114 # rdmaenabled = models.IntegerField(db_column='RDMAENABLED', null=True)
115 # disktype = models.CharField(db_column='DISKTYPE', max_length=255)
116 # ownerid = models.CharField(db_column='OWNERID', max_length=255, null=True)
117 # zoneid = models.CharField(db_column='ZONEID', max_length=255, null=True)
118 # hostid = models.CharField(db_column='HOSTID', max_length=255, null=True)
119 # operationalstate = models.CharField(db_column='OPERATIONALSTATE', max_length=255, null=True)
120 tenant = models.CharField(db_column='TENANT', max_length=50, null=True)
121 is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
122 create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
123 nodeId = models.CharField(db_column='NODEID', max_length=255, null=True)
126 class VmInstModel(models.Model):
130 vmid = models.CharField(db_column='VMID', primary_key=True, max_length=255)
131 vimid = models.CharField(db_column='VIMID', max_length=255)
132 tenant = models.CharField(db_column='TENANT', max_length=255, null=True)
133 resourceid = models.CharField(db_column='RESOURCEID', max_length=255)
134 vmname = models.CharField(db_column='VMNAME', max_length=255)
135 nic_array = models.CharField(db_column='NICARRAY', max_length=255)
136 metadata = models.CharField(db_column='METADATA', max_length=255)
137 volume_array = models.CharField(db_column='VOLUMEARRAY', max_length=255)
138 server_group = models.CharField(db_column='SERVERGROUP', max_length=255)
139 availability_zone = models.CharField(db_column='AVAILABILITYZONE', max_length=255)
140 flavor_id = models.CharField(db_column='FLAVORID', max_length=255)
141 security_groups = models.CharField(db_column='SECURITYGROUPS', max_length=255)
142 operationalstate = models.CharField(db_column='OPERATIONALSTATE', max_length=255, null=True)
143 insttype = models.IntegerField(db_column='INSTTYPE')
144 is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
145 create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
146 instid = models.CharField(db_column='INSTID', max_length=255)
147 nodeId = models.CharField(db_column='NODEID', max_length=255, null=True)
150 class VNFCInstModel(models.Model):
152 db_table = 'VNFCINST'
154 vnfcinstanceid = models.CharField(db_column='VNFCINSTANCEID', max_length=255, primary_key=True)
155 vduid = models.CharField(db_column='VDUID', max_length=255)
156 vdutype = models.CharField(db_column='VDUTYPE', max_length=255)
157 instid = models.CharField(db_column='NFINSTID', max_length=255)
158 vmid = models.CharField(db_column='VMID', max_length=255)
159 is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
162 class FlavourInstModel(models.Model):
164 db_table = 'FLAVOURINST'
166 flavourid = models.CharField(db_column='FLAVOURID', max_length=255, primary_key=True)
167 vimid = models.CharField(db_column='VIMID', max_length=255)
168 resourceid = models.CharField(db_column='RESOURCEID', max_length=255)
169 name = models.CharField(db_column='NAME', max_length=255)
170 tenant = models.CharField(db_column='TENANT', max_length=255, null=True)
171 vcpu = models.IntegerField(db_column='VCPU', null=True)
172 memory = models.IntegerField(db_column='MEMORY', null=True)
173 disk = models.IntegerField(db_column='DISK', null=True)
174 ephemeral = models.IntegerField(db_column='EPHEMERAL', null=True)
175 swap = models.IntegerField(db_column='SWAP', null=True)
176 isPublic = models.IntegerField(db_column='ISPUBLIC', null=True)
177 extraspecs = models.TextField(db_column='EXTRASPECS', max_length=4096)
178 instid = models.CharField(db_column='INSTID', max_length=255)
179 create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
180 is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
183 class NetworkInstModel(models.Model):
185 db_table = 'NETWORKINST'
187 networkid = models.CharField(db_column='NETWORKID', primary_key=True, max_length=255)
188 vimid = models.CharField(db_column='VIMID', max_length=255)
189 resourceid = models.CharField(db_column='RESOURCEID', max_length=255)
190 insttype = models.IntegerField(db_column='INSTTYPE')
191 instid = models.CharField(db_column='INSTID', max_length=255)
192 name = models.CharField(db_column='NAME', max_length=255)
193 tenant = models.CharField(db_column='TENANT', max_length=255, null=True)
194 is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
195 desc = models.CharField(db_column='DESC', max_length=255, null=True)
196 vendor = models.CharField(db_column='VENDOR', max_length=255, null=True)
197 bandwidth = models.IntegerField(db_column='BANDWIDTH', null=True)
198 mtu = models.IntegerField(db_column='MTU', null=True)
199 network_type = models.CharField(db_column='NETWORKTYPE', max_length=255, null=True)
200 segmentid = models.CharField(db_column='SEGMENTID', max_length=255, null=True)
201 networkqos = models.CharField(db_column='NETWORKQOS', max_length=255, null=True)
202 create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
203 physicalNetwork = models.CharField(db_column='PHYNETWORK', max_length=255, null=True)
204 is_shared = models.IntegerField(db_column='ISSHARED', default=0, null=True)
205 vlantrans = models.IntegerField(db_column='VLANTRANS', null=True)
206 routerExternal = models.IntegerField(db_column='ROUTEREXTERNAL', default=0, null=True)
207 nodeId = models.CharField(db_column='NODEID', max_length=255, null=True)
210 class SubNetworkInstModel(models.Model):
212 db_table = 'SUBNETWORKINST'
214 subnetworkid = models.CharField(db_column='SUBNETWORKID', primary_key=True, max_length=255)
215 vimid = models.CharField(db_column='VIMID', max_length=255)
216 resourceid = models.CharField(db_column='RESOURCEID', max_length=255)
217 networkid = models.CharField(db_column='NETWORKID', max_length=255)
218 insttype = models.IntegerField(db_column='INSTTYPE')
219 instid = models.CharField(db_column='INSTID', max_length=255)
220 name = models.CharField(db_column='NAME', max_length=255)
221 ipversion = models.IntegerField(db_column='IPVERSION', null=True)
222 gatewayip = models.CharField(db_column='GATEWAYIP', max_length=255, null=True)
223 isdhcpenabled = models.IntegerField(db_column='ISDHCPENABLED', null=True)
224 cidr = models.CharField(db_column='CIDR', max_length=255)
225 vdsname = models.CharField(db_column='VDSNAME', max_length=255, null=True)
226 operationalstate = models.CharField(db_column='OPERATIONALSTATE', max_length=255, null=True)
227 tenant = models.CharField(db_column='TENANT', max_length=255, null=True)
228 is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
229 create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
230 dnsNameservers = models.TextField(db_column='DNSNAMESERVERS', max_length=1024)
231 hostRoutes = models.TextField(db_column='HOSTROUTES', max_length=1024)
232 allocationPools = models.TextField(db_column='ALLOCATIONPOOLS', max_length=1024)
235 class VLInstModel(models.Model):
239 vlinstanceid = models.CharField(db_column='VLINSTANCEID', max_length=255, primary_key=True)
240 vldid = models.CharField(db_column='VLDID', max_length=255)
241 vlinstancename = models.CharField(db_column='VLINSTANCENAME', max_length=255, blank=True, null=True)
242 ownertype = models.IntegerField(db_column='OWNERTYPE')
243 ownerid = models.CharField(db_column='OWNERID', max_length=255)
244 relatednetworkid = models.CharField(db_column='RELATEDNETWORKID', max_length=255, blank=True, null=True)
245 relatedsubnetworkid = models.CharField(db_column='RELATEDSUBNETWORKID', max_length=255, blank=True, null=True)
246 vltype = models.IntegerField(db_column='VLTYPE', default=0)
247 vimid = models.CharField(db_column='VIMID', max_length=255)
248 tenant = models.CharField(db_column='TENANT', max_length=50)
251 class PortInstModel(models.Model):
253 db_table = 'PORTINST'
255 portid = models.CharField(db_column='PORTID', primary_key=True, max_length=255)
256 networkid = models.CharField(db_column='NETWORKID', max_length=255)
257 subnetworkid = models.CharField(db_column='SUBNETWORKID', max_length=255, null=True)
258 vimid = models.CharField(db_column='VIMID', max_length=255)
259 resourceid = models.CharField(db_column='RESOURCEID', max_length=255)
260 name = models.CharField(db_column='NAME', max_length=255, null=True)
261 insttype = models.IntegerField(db_column='INSTTYPE')
262 instid = models.CharField(db_column='INSTID', max_length=255)
263 cpinstanceid = models.CharField(db_column='CPINSTANCEID', max_length=255, null=True)
264 bandwidth = models.CharField(db_column='BANDWIDTH', max_length=255, null=True)
265 operationalstate = models.CharField(db_column='OPERATIONALSTATE', max_length=255, null=True)
266 ipaddress = models.CharField(db_column='IPADDRESS', max_length=255)
267 macaddress = models.CharField(db_column='MACADDRESS', max_length=255)
268 nicorder = models.CharField(db_column='NICORDER', max_length=255)
269 floatipaddress = models.CharField(db_column='FLOATIPADDRESS', max_length=255, null=True)
270 serviceipaddress = models.CharField(db_column='SERVICEIPADDRESS', max_length=255, null=True)
271 typevirtualnic = models.CharField(db_column='TYPEVIRTUALNIC', max_length=255, null=True)
272 sfcencapsulation = models.CharField(db_column='SFCENCAPSULATION', max_length=255, null=True)
273 direction = models.CharField(db_column='DIRECTION', max_length=255, null=True)
274 tenant = models.CharField(db_column='TENANT', max_length=255, null=True)
275 interfacename = models.CharField(db_column='INTERFACENAME', max_length=255, blank=True, null=True)
276 vmid = models.CharField(db_column='VMID', max_length=255, blank=True, null=True)
277 create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
278 securityGroups = models.CharField(db_column='SECURITYGROUPS', max_length=255)
279 is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
280 nodeId = models.CharField(db_column='NODEID', max_length=255, null=True)
283 class CPInstModel(models.Model):
287 cpinstanceid = models.CharField(db_column='CPINSTANCEID', max_length=255, primary_key=True)
288 cpdid = models.CharField(db_column='CPDID', max_length=255)
289 cpinstancename = models.CharField(db_column='CPINSTANCENAME', max_length=255)
290 vlinstanceid = models.CharField(db_column='VLINSTANCEID', max_length=255)
291 ownertype = models.IntegerField(db_column='OWNERTYPE')
292 ownerid = models.CharField(db_column='OWNERID', max_length=255)
293 relatedtype = models.IntegerField(db_column='RELATEDTYPE')
294 relatedvl = models.CharField(db_column='RELATEDVL', max_length=255, blank=True, null=True)
295 relatedcp = models.CharField(db_column='RELATEDCP', max_length=255, blank=True, null=True)
296 relatedport = models.CharField(db_column='RELATEDPORT', max_length=255, blank=True, null=True)
299 class SubscriptionModel(models.Model):
301 db_table = 'SUBSCRIPTION'
302 subscription_id = models.CharField(db_column='SUBSCRIPTIONID', max_length=255, primary_key=True)
303 callback_uri = models.CharField(db_column='CALLBACKURI', max_length=255)
304 auth_info = models.TextField(db_column='AUTHINFO', max_length=20000, blank=True, null=True)
305 notification_types = models.TextField(db_column='NOTIFICATIONTYPES',
307 operation_types = models.TextField(db_column='OPERATIONTYPES',
309 operation_states = models.TextField(db_column='OPERATIONSTATES',
311 vnf_instance_filter = models.TextField(db_column='VNFINSTANCEFILTER',
313 links = models.TextField(db_column='LINKS', max_length=20000)
316 class VNFLcmOpOccModel(models.Model):
318 db_table = 'VNFLCMOPOCCS'
320 id = models.CharField(db_column='ID', max_length=255, primary_key=True)
321 operation_state = models.CharField(db_column='OPERATIONSTATE', null=False, max_length=30)
322 state_entered_time = models.CharField(db_column='STATEENTEREDTIME', null=False, max_length=30)
323 start_time = models.CharField(db_column='STARTTIME', null=False, max_length=30)
324 vnf_instance_id = models.CharField(db_column='VNFINSTANCEID', null=False, max_length=255)
325 grant_id = models.CharField(db_column='GRANTID', null=True, max_length=255)
326 operation = models.CharField(db_column='OPERATION', null=False, max_length=30)
327 is_automatic_invocation = models.CharField(db_column='ISAUTOMATICINVOCATION', null=False, max_length=5)
328 operation_params = models.TextField(db_column='OPERATIONPARAMS', null=False)
329 is_cancel_pending = models.CharField(db_column='ISCANCELPENDING', null=False, max_length=5)
330 cancel_mode = models.TextField(db_column='CANCELMODE', null=True)
331 error = models.TextField(db_column='ERROR', null=True)
332 resource_changes = models.TextField(db_column='RESOURCECHANGES', null=True)
333 changed_info = models.TextField(db_column='CHANGEDINFO', null=True)
334 changed_ext_connectivity = models.TextField(db_column='CHANGEDEXTCONNECTIVITY', null=True)
335 links = models.TextField(db_column='LINKS', null=False)