Modify code and models of gvnfm vnfres
[vfc/gvnfm/vnfres.git] / res / res / pub / database / models.py
1 # Copyright 2017 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 from django.db import models
15
16
17 class NfInstModel(models.Model):
18     class Meta:
19         db_table = 'NFINST'
20
21     nfinstid = models.CharField(db_column='NFINSTID', max_length=200, primary_key=True)
22     nf_name = models.CharField(db_column='NFNAME', max_length=100, blank=True, null=True)  # CreateVnfRequest.vnfInstanceName
23     package_id = models.CharField(db_column='PACKAGEID', max_length=200, blank=True, null=True)
24     status = models.CharField(db_column='STATUS', max_length=20, blank=True, null=True)
25     flavour_id = models.CharField(db_column='FLAVOURID', max_length=200, blank=True, null=True)  # InstantiateVnfRequest.flavourId
26     location = models.CharField(db_column='LOCATION', max_length=200, blank=True, null=True)
27     version = models.CharField(db_column='VERSION', max_length=255, null=True)
28     vendor = models.CharField(db_column='VENDOR', max_length=255, null=True, blank=True)
29     netype = models.CharField(db_column='NETYPE', max_length=255, null=True)
30     vnfd_model = models.TextField(db_column='VNFDMODEL', max_length=20000, blank=True, null=True)
31     input_params = models.TextField(db_column='INPUTPARAMS', max_length=2000, blank=True, null=True)  # InstantiateVnfRequest.additionalParams
32     create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
33     lastuptime = models.CharField(db_column='LASTUPTIME', max_length=200, blank=True, null=True)
34
35     nf_desc = models.CharField(db_column='VNFINSTANCEDESC', max_length=200, blank=True, null=True)
36     vnfdid = models.CharField(db_column='VNFDID', max_length=200, blank=True, null=True)
37     vnfSoftwareVersion = models.CharField(db_column='VNFSOFTWAREVER', max_length=200, blank=True, null=True)
38     vnfConfigurableProperties = models.TextField(db_column='VNFCONFIGURABLEPROPERTIES', max_length=20000, blank=True, null=True)
39     localizationLanguage = models.CharField(db_column='LOCALIZATIONLANGUAGE', max_length=255, null=True)
40
41
42 # class JobModel(models.Model):
43 #     class Meta:
44 #         db_table = 'JOB'
45 #
46 #     _database = 'job'
47 #
48 #     jobid = models.CharField(db_column='JOBID', primary_key=True, max_length=255)
49 #     jobtype = models.CharField(db_column='JOBTYPE', max_length=255)
50 #     jobaction = models.CharField(db_column='JOBACTION', max_length=255)
51 #     resid = models.CharField(db_column='RESID', max_length=255)
52 #     status = models.IntegerField(db_column='STATUS', null=True, blank=True)
53 #     starttime = models.CharField(db_column='STARTTIME', max_length=255, null=True, blank=True)
54 #     endtime = models.CharField(db_column='ENDTIME', max_length=255, null=True, blank=True)
55 #     progress = models.IntegerField(db_column='PROGRESS', null=True, blank=True)
56 #     user = models.CharField(db_column='USER', max_length=255, null=True, blank=True)
57 #     parentjobid = models.CharField(db_column='PARENTJOBID', max_length=255, null=True, blank=True)
58 #     resname = models.CharField(db_column='RESNAME', max_length=255, null=True, blank=True)
59 #
60 #     def toJSON(self):
61 #         import json
62 #         return json.dumps(dict([(attr, getattr(self, attr)) for attr in [f.name for f in self._meta.fields]]))
63 #
64 #
65 # class JobStatusModel(models.Model):
66 #     class Meta:
67 #         db_table = 'JOB_STATUS'
68 #
69 #     _database = 'job'
70 #
71 #     indexid = models.IntegerField(db_column='INDEXID')
72 #     jobid = models.CharField(db_column='JOBID', max_length=255)
73 #     status = models.CharField(db_column='STATUS', max_length=255)
74 #     progress = models.IntegerField(db_column='PROGRESS', null=True, blank=True)
75 #     descp = models.TextField(db_column='DESCP', max_length=1024)
76 #     errcode = models.CharField(db_column='ERRCODE', max_length=255, null=True, blank=True)
77 #     addtime = models.CharField(db_column='ADDTIME', max_length=255, null=True, blank=True)
78 #
79 #     def toJSON(self):
80 #         import json
81 #         return json.dumps(dict([(attr, getattr(self, attr)) for attr in [f.name for f in self._meta.fields]]))
82
83
84 class CPInstModel(models.Model):
85     class Meta:
86         db_table = 'CPINST'
87
88     cpinstanceid = models.CharField(db_column='CPINSTANCEID', max_length=255, primary_key=True)
89     cpdid = models.CharField(db_column='CPDID', max_length=255)
90     cpinstancename = models.CharField(db_column='CPINSTANCENAME', max_length=255)
91     vlinstanceid = models.CharField(db_column='VLINSTANCEID', max_length=255)
92     ownertype = models.IntegerField(db_column='OWNERTYPE')
93     ownerid = models.CharField(db_column='OWNERID', max_length=255)
94     relatedtype = models.IntegerField(db_column='RELATEDTYPE')
95     relatedvl = models.CharField(db_column='RELATEDVL', max_length=255, blank=True, null=True)
96     relatedcp = models.CharField(db_column='RELATEDCP', max_length=255, blank=True, null=True)
97     relatedport = models.CharField(db_column='RELATEDPORT', max_length=255, blank=True, null=True)
98
99 class StorageInstModel(models.Model):
100     class Meta:
101         db_table = 'STORAGEINST'
102
103     storageid = models.CharField(db_column='STORAGEID', primary_key=True, max_length=255)
104     vimid = models.CharField(db_column='VIMID', max_length=255)
105     resouceid = models.CharField(db_column='RESOURCEID', max_length=255)
106     insttype = models.IntegerField(db_column='INSTTYPE')
107     instid = models.CharField(db_column='INSTID', max_length=255)
108     name = models.CharField(db_column='NAME', max_length=255, null=True)
109     storagetype = models.CharField(db_column='STORAGETYPE', max_length=255)
110     size = models.CharField(db_column='SIZE', max_length=255)
111     # rdmaenabled = models.IntegerField(db_column='RDMAENABLED', null=True)
112     # disktype = models.CharField(db_column='DISKTYPE', max_length=255)
113     # ownerid = models.CharField(db_column='OWNERID', max_length=255, null=True)
114     # zoneid = models.CharField(db_column='ZONEID', max_length=255, null=True)
115     # hostid = models.CharField(db_column='HOSTID', max_length=255, null=True)
116     # operationalstate = models.CharField(db_column='OPERATIONALSTATE', max_length=255, null=True)
117     tenant = models.CharField(db_column='TENANT', max_length=50, null=True)
118     is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
119     create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
120     nodeId = models.CharField(db_column='NODEID', max_length=255, null=True)
121
122
123 class NetworkInstModel(models.Model):
124     class Meta:
125         db_table = 'NETWORKINST'
126
127     networkid = models.CharField(db_column='NETWORKID', primary_key=True, max_length=255)
128     vimid = models.CharField(db_column='VIMID', max_length=255)
129     resouceid = models.CharField(db_column='RESOURCEID', max_length=255)
130     insttype = models.IntegerField(db_column='INSTTYPE')
131     instid = models.CharField(db_column='INSTID', max_length=255)
132     name = models.CharField(db_column='NAME', max_length=255)
133     tenant = models.CharField(db_column='TENANT', max_length=255, null=True)
134     is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
135     desc = models.CharField(db_column='DESC', max_length=255, null=True)
136     vendor = models.CharField(db_column='VENDOR', max_length=255, null=True)
137     bandwidth = models.IntegerField(db_column='BANDWIDTH', null=True)
138     mtu = models.IntegerField(db_column='MTU', null=True)
139     network_type = models.CharField(db_column='NETWORKTYPE', max_length=255, null=True)
140     segmentid = models.CharField(db_column='SEGMENTID', max_length=255, null=True)
141     networkqos = models.CharField(db_column='NETWORKQOS', max_length=255, null=True)
142     create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
143     physicalNetwork = models.CharField(db_column='PHYNETWORK', max_length=255, null=True)
144     is_shared = models.IntegerField(db_column='ISSHARED', default=0, null=True)
145     vlantrans = models.IntegerField(db_column='VLANTRANS', null=True)
146     routerExternal = models.IntegerField(db_column='ROUTEREXTERNAL', default=0, null=True)
147     nodeId = models.CharField(db_column='NODEID', max_length=255, null=True)
148
149
150 class SubNetworkInstModel(models.Model):
151     class Meta:
152         db_table = 'SUBNETWORKINST'
153
154     subnetworkid = models.CharField(db_column='SUBNETWORKID', primary_key=True, max_length=255)
155     vimid = models.CharField(db_column='VIMID', max_length=255)
156     resouceid = models.CharField(db_column='RESOURCEID', max_length=255)
157     networkid = models.CharField(db_column='NETWORKID', max_length=255)
158     insttype = models.IntegerField(db_column='INSTTYPE')
159     instid = models.CharField(db_column='INSTID', max_length=255)
160     name = models.CharField(db_column='NAME', max_length=255)
161     ipversion = models.IntegerField(db_column='IPVERSION', null=True)
162     gatewayip = models.CharField(db_column='GATEWAYIP', max_length=255, null=True)
163     isdhcpenabled = models.IntegerField(db_column='ISDHCPENABLED', null=True)
164     cidr = models.CharField(db_column='CIDR', max_length=255)
165     vdsname = models.CharField(db_column='VDSNAME', max_length=255, null=True)
166     operationalstate = models.CharField(db_column='OPERATIONALSTATE', max_length=255, null=True)
167     tenant = models.CharField(db_column='TENANT', max_length=255, null=True)
168     is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
169     create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
170     dnsNameservers = models.TextField(db_column='DNSNAMESERVERS', max_length=1024)
171     hostRoutes = models.TextField(db_column='HOSTROUTES', max_length=1024)
172     allocationPools = models.TextField(db_column='ALLOCATIONPOOLS', max_length=1024)
173
174
175 class PortInstModel(models.Model):
176     class Meta:
177         db_table = 'PORTINST'
178
179     portid = models.CharField(db_column='PORTID', primary_key=True, max_length=255)
180     networkid = models.CharField(db_column='NETWORKID', max_length=255)
181     subnetworkid = models.CharField(db_column='SUBNETWORKID', max_length=255, null=True)
182     vimid = models.CharField(db_column='VIMID', max_length=255)
183     resouceid = models.CharField(db_column='RESOURCEID', max_length=255)
184     name = models.CharField(db_column='NAME', max_length=255, null=True)
185     insttype = models.IntegerField(db_column='INSTTYPE')
186     instid = models.CharField(db_column='INSTID', max_length=255)
187     cpinstanceid = models.CharField(db_column='CPINSTANCEID', max_length=255, null=True)
188     bandwidth = models.CharField(db_column='BANDWIDTH', max_length=255, null=True)
189     operationalstate = models.CharField(db_column='OPERATIONALSTATE', max_length=255, null=True)
190     ipaddress = models.CharField(db_column='IPADDRESS', max_length=255)
191     macaddress = models.CharField(db_column='MACADDRESS', max_length=255)
192     nicorder = models.CharField(db_column='NICORDER', max_length=255)
193     floatipaddress = models.CharField(db_column='FLOATIPADDRESS', max_length=255, null=True)
194     serviceipaddress = models.CharField(db_column='SERVICEIPADDRESS', max_length=255, null=True)
195     typevirtualnic = models.CharField(db_column='TYPEVIRTUALNIC', max_length=255, null=True)
196     sfcencapsulation = models.CharField(db_column='SFCENCAPSULATION', max_length=255, null=True)
197     direction = models.CharField(db_column='DIRECTION', max_length=255, null=True)
198     tenant = models.CharField(db_column='TENANT', max_length=255, null=True)
199     interfacename = models.CharField(db_column='INTERFACENAME', max_length=255, blank=True, null=True)
200     vmid = models.CharField(db_column='VMID', max_length=255, blank=True, null=True)
201     create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
202     securityGroups = models.CharField(db_column='SECURITYGROUPS', max_length=255)
203     is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
204     nodeId = models.CharField(db_column='NODEID', max_length=255, null=True)
205
206
207 class VmInstModel(models.Model):
208     class Meta:
209         db_table = 'VMINST'
210
211     vmid = models.CharField(db_column='VMID', primary_key=True, max_length=255)
212     vimid = models.CharField(db_column='VIMID', max_length=255)
213     tenant = models.CharField(db_column='TENANT', max_length=255, null=True)
214     resouceid = models.CharField(db_column='RESOURCEID', max_length=255)
215     vmname = models.CharField(db_column='VMNAME', max_length=255)
216     nic_array = models.CharField(db_column='NICARRAY', max_length=255)
217     metadata = models.CharField(db_column='METADATA', max_length=255)
218     volume_array = models.CharField(db_column='VOLUMEARRAY', max_length=255)
219     server_group = models.CharField(db_column='SERVERGROUP', max_length=255)
220     availability_zone = models.CharField(db_column='AVAILABILITYZONE', max_length=255)
221     flavor_id = models.CharField(db_column='FLAVORID', max_length=255)
222     security_groups = models.CharField(db_column='SECURITYGROUPS', max_length=255)
223     operationalstate = models.CharField(db_column='OPERATIONALSTATE', max_length=255, null=True)
224     insttype = models.IntegerField(db_column='INSTTYPE')
225     is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
226     create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
227     instid = models.CharField(db_column='INSTID', max_length=255)
228     nodeId = models.CharField(db_column='NODEID', max_length=255, null=True)
229
230
231 class VLInstModel(models.Model):
232     class Meta:
233         db_table = 'VLINST'
234
235     vlinstanceid = models.CharField(db_column='VLINSTANCEID', max_length=255, primary_key=True)
236     vldid = models.CharField(db_column='VLDID', max_length=255)
237     vlinstancename = models.CharField(db_column='VLINSTANCENAME', max_length=255, blank=True, null=True)
238     ownertype = models.IntegerField(db_column='OWNERTYPE')
239     ownerid = models.CharField(db_column='OWNERID', max_length=255)
240     relatednetworkid = models.CharField(db_column='RELATEDNETWORKID', max_length=255, blank=True, null=True)
241     relatedsubnetworkid = models.CharField(db_column='RELATEDSUBNETWORKID', max_length=255, blank=True, null=True)
242     vltype = models.IntegerField(db_column='VLTYPE', default=0)
243     vimid = models.CharField(db_column='VIMID', max_length=255)
244     tenant = models.CharField(db_column='TENANT', max_length=50)
245
246 class VNFCInstModel(models.Model):
247     class Meta:
248         db_table = 'VNFCINST'
249
250     vnfcinstanceid = models.CharField(db_column='VNFCINSTANCEID', max_length=255, primary_key=True)
251     vduid = models.CharField(db_column='VDUID', max_length=255)
252     vdutype = models.CharField(db_column='VDUTYPE', max_length=255)
253     instid = models.CharField(db_column='NFINSTID', max_length=255)
254     vmid = models.CharField(db_column='VMID', max_length=255)
255     is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
256
257
258 # class VimModel(models.Model):
259 #     vimid = models.IntegerField(db_column='CMSERVERID', primary_key=True)
260 #     name = models.CharField(db_column='NAME', max_length=255, blank=True, null=True)
261 #     type = models.CharField(db_column='CMSTYPE', max_length=255, blank=True, null=True)
262 #     imageurl = models.CharField(db_column='IMAGEURL', max_length=1024, blank=True, null=True)
263 #     apiurl = models.CharField(db_column='APIURL', max_length=1024, blank=True, null=True)
264 #     version = models.CharField(db_column='VER', max_length=1024, blank=True, null=True)
265 #     supportnotification = models.IntegerField(db_column='SUPPORTNOTIFICATION', default=0)
266 #     longitude = models.CharField(db_column='LONGITUDE', max_length=1024, blank=True, null=True)
267 #     latitude = models.CharField(db_column='LATITUDE', max_length=1024, blank=True, null=True)
268 #     grantexclude = models.CharField(db_column='GRANTEXCLUDE', max_length=1, default='0', blank=True, null=True)
269 #     slalevel = models.IntegerField(db_column='SLALEVEL', default=0)
270 #
271 #     class Meta:
272 #         db_table = 'CMSSERVER'
273 #
274 #     def __unicode__(self):
275 #         return '%s' % self.name
276 #
277 #
278 # class VimUserModel(models.Model):
279 #     class Meta:
280 #         db_table = 'CMSSERVER_USER'
281 #
282 #     uuid = models.CharField(db_column='UUID', primary_key=True, max_length=255)
283 #     vimid = models.IntegerField(db_column='CMSERVERID')
284 #     username = models.CharField(db_column='USERNAME', max_length=255)
285 #     password = models.CharField(db_column='PWD', max_length=255, blank=True)
286 #     defaulttenant = models.CharField(db_column='TENANT', max_length=255, blank=True)
287 #
288 #     def __unicode__(self):
289 #         return '%s' % self.username
290
291
292 class FlavourInstModel(models.Model):
293     class Meta:
294         db_table = 'FLAVOURINST'
295
296     flavourid = models.CharField(db_column='FLAVOURID', max_length=255, primary_key=True)
297     vimid = models.CharField(db_column='VIMID', max_length=255)
298     resouceid = models.CharField(db_column='RESOURCEID', max_length=255)
299     name = models.CharField(db_column='NAME', max_length=255)
300     tenant = models.CharField(db_column='TENANT', max_length=255, null=True)
301     vcpu = models.IntegerField(db_column='VCPU', null=True)
302     memory = models.IntegerField(db_column='MEMORY', null=True)
303     disk = models.IntegerField(db_column='DISK', null=True)
304     ephemeral = models.IntegerField(db_column='EPHEMERAL', null=True)
305     swap = models.IntegerField(db_column='SWAP', null=True)
306     isPublic = models.IntegerField(db_column='ISPUBLIC', null=True)
307     extraspecs = models.CharField(db_column='EXTRASPECS', max_length=255)
308     instid = models.CharField(db_column='INSTID', max_length=255)
309     create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
310     is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
311
312     def __unicode__(self):
313         return '%s' % self.name
314
315
316
317
318