Update report resoure code and other files
[vfc/gvnfm/vnflcm.git] / lcm / lcm / 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
15 from django.db import models
16
17
18 class NfInstModel(models.Model):
19     class Meta:
20         db_table = 'NFINST'
21
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     package_id = models.CharField(db_column='PACKAGEID', max_length=200, blank=True, null=True)
25     status = models.CharField(db_column='STATUS', max_length=20, blank=True, null=True)
26     flavour_id = models.CharField(db_column='FLAVOURID', max_length=200, blank=True, null=True)  # InstantiateVnfRequest.flavourId
27     location = models.CharField(db_column='LOCATION', max_length=200, blank=True, null=True)
28     version = models.CharField(db_column='VERSION', max_length=255, null=True)
29     vendor = models.CharField(db_column='VENDOR', max_length=255, null=True, blank=True)
30     netype = models.CharField(db_column='NETYPE', max_length=255, null=True)
31     vnfd_model = models.TextField(db_column='VNFDMODEL', max_length=20000, blank=True, null=True)
32     input_params = models.TextField(db_column='INPUTPARAMS', max_length=2000, blank=True, null=True)  # InstantiateVnfRequest.additionalParams
33     create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
34     lastuptime = models.CharField(db_column='LASTUPTIME', max_length=200, blank=True, null=True)
35
36     nf_desc = models.CharField(db_column='VNFINSTANCEDESC', max_length=200, blank=True, null=True)
37     vnfdid = models.CharField(db_column='VNFDID', max_length=200, blank=True, null=True)
38     vnfSoftwareVersion = models.CharField(db_column='VNFSOFTWAREVER', max_length=200, blank=True, null=True)
39     vnfConfigurableProperties = models.TextField(db_column='VNFCONFIGURABLEPROPERTIES', max_length=20000, blank=True, null=True)
40     localizationLanguage = models.CharField(db_column='LOCALIZATIONLANGUAGE', max_length=255, null=True)
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 class JobStatusModel(models.Model):
65     class Meta:
66         db_table = 'JOB_STATUS'
67
68     _database = 'job'
69
70     indexid = models.IntegerField(db_column='INDEXID')
71     jobid = models.CharField(db_column='JOBID', max_length=255)
72     status = models.CharField(db_column='STATUS', max_length=255)
73     progress = models.IntegerField(db_column='PROGRESS', null=True, blank=True)
74     descp = models.TextField(db_column='DESCP', max_length=1024)
75     errcode = models.CharField(db_column='ERRCODE', max_length=255, null=True, blank=True)
76     addtime = models.CharField(db_column='ADDTIME', max_length=255, null=True, blank=True)
77
78     def toJSON(self):
79         import json
80         return json.dumps(dict([(attr, getattr(self, attr)) for attr in [f.name for f in self._meta.fields]]))
81
82 class NfvoRegInfoModel(models.Model):
83     class Meta:
84         db_table = 'NFVOREGINFO'
85
86     nfvoid = models.CharField(max_length=255, primary_key=True, db_column='NFVOID')
87     vnfminstid = models.CharField(max_length=255, db_column='VNFMINSTID')
88     apiurl = models.CharField(max_length=255, db_column='URL')
89     nfvouser = models.CharField(max_length=255, db_column='USERNAME', null=True)
90     nfvopassword = models.CharField(max_length=255, db_column='PASSWD', null=True)
91     authtype = models.IntegerField(db_column='AUTHTYPE', default=2)
92     clientcert = models.CharField(max_length=255, db_column='CLIENTCERT', null=True)
93     servercert = models.CharField(max_length=255, db_column='SERVERCERT', null=True)
94     regtime = models.CharField(max_length=255, db_column='REGTIME')
95
96 class StorageInstModel(models.Model):
97     class Meta:
98         db_table = 'STORAGEINST'
99
100     storageid = models.CharField(db_column='STORAGEID', primary_key=True, max_length=255)
101     vimid = models.CharField(db_column='VIMID', max_length=255)
102     resouceid = models.CharField(db_column='RESOURCEID', max_length=255)
103     insttype = models.IntegerField(db_column='INSTTYPE')
104     instid = models.CharField(db_column='INSTID', max_length=255)
105     name = models.CharField(db_column='NAME', max_length=255, null=True)
106     storagetype = models.CharField(db_column='STORAGETYPE', max_length=255)
107     size = models.CharField(db_column='SIZE', max_length=255)
108     # rdmaenabled = models.IntegerField(db_column='RDMAENABLED', null=True)
109     # disktype = models.CharField(db_column='DISKTYPE', max_length=255)
110     # ownerid = models.CharField(db_column='OWNERID', max_length=255, null=True)
111     # zoneid = models.CharField(db_column='ZONEID', max_length=255, null=True)
112     # hostid = models.CharField(db_column='HOSTID', max_length=255, null=True)
113     # operationalstate = models.CharField(db_column='OPERATIONALSTATE', max_length=255, null=True)
114     tenant = models.CharField(db_column='TENANT', max_length=50, null=True)
115     is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
116     create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
117     nodeId = models.CharField(db_column='NODEID', max_length=255, null=True)
118
119 class VmInstModel(models.Model):
120     class Meta:
121         db_table = 'VMINST'
122
123     vmid = models.CharField(db_column='VMID', primary_key=True, max_length=255)
124     vimid = models.CharField(db_column='VIMID', max_length=255)
125     tenant = models.CharField(db_column='TENANT', max_length=255, null=True)
126     resouceid = models.CharField(db_column='RESOURCEID', max_length=255)
127     vmname = models.CharField(db_column='VMNAME', max_length=255)
128     nic_array = models.CharField(db_column='NICARRAY', max_length=255)
129     metadata = models.CharField(db_column='METADATA', max_length=255)
130     volume_array = models.CharField(db_column='VOLUMEARRAY', max_length=255)
131     server_group = models.CharField(db_column='SERVERGROUP', max_length=255)
132     availability_zone = models.CharField(db_column='AVAILABILITYZONE', max_length=255)
133     flavor_id = models.CharField(db_column='FLAVORID', max_length=255)
134     security_groups = models.CharField(db_column='SECURITYGROUPS', max_length=255)
135     operationalstate = models.CharField(db_column='OPERATIONALSTATE', max_length=255, null=True)
136     insttype = models.IntegerField(db_column='INSTTYPE')
137     is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
138     create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
139     instid = models.CharField(db_column='INSTID', max_length=255)
140     nodeId = models.CharField(db_column='NODEID', max_length=255, null=True)
141
142 class VNFCInstModel(models.Model):
143     class Meta:
144         db_table = 'VNFCINST'
145
146     vnfcinstanceid = models.CharField(db_column='VNFCINSTANCEID', max_length=255, primary_key=True)
147     vduid = models.CharField(db_column='VDUID', max_length=255)
148     vdutype = models.CharField(db_column='VDUTYPE', max_length=255)
149     instid = models.CharField(db_column='NFINSTID', max_length=255)
150     vmid = models.CharField(db_column='VMID', max_length=255)
151     is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
152
153 class FlavourInstModel(models.Model):
154     class Meta:
155         db_table = 'FLAVOURINST'
156
157     flavourid = models.CharField(db_column='FLAVOURID', max_length=255, primary_key=True)
158     vimid = models.CharField(db_column='VIMID', max_length=255)
159     resouceid = models.CharField(db_column='RESOURCEID', max_length=255)
160     name = models.CharField(db_column='NAME', max_length=255)
161     tenant = models.CharField(db_column='TENANT', max_length=255, null=True)
162     vcpu = models.IntegerField(db_column='VCPU', null=True)
163     memory = models.IntegerField(db_column='MEMORY', null=True)
164     disk = models.IntegerField(db_column='DISK', null=True)
165     ephemeral = models.IntegerField(db_column='EPHEMERAL', null=True)
166     swap = models.IntegerField(db_column='SWAP', null=True)
167     isPublic = models.IntegerField(db_column='ISPUBLIC', null=True)
168     extraspecs = models.TextField(db_column='EXTRASPECS', max_length=4096)
169     instid = models.CharField(db_column='INSTID', max_length=255)
170     create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
171     is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
172
173 class NetworkInstModel(models.Model):
174     class Meta:
175         db_table = 'NETWORKINST'
176
177     networkid = models.CharField(db_column='NETWORKID', primary_key=True, max_length=255)
178     vimid = models.CharField(db_column='VIMID', max_length=255)
179     resouceid = models.CharField(db_column='RESOURCEID', max_length=255)
180     insttype = models.IntegerField(db_column='INSTTYPE')
181     instid = models.CharField(db_column='INSTID', max_length=255)
182     name = models.CharField(db_column='NAME', max_length=255)
183     tenant = models.CharField(db_column='TENANT', max_length=255, null=True)
184     is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
185     desc = models.CharField(db_column='DESC', max_length=255, null=True)
186     vendor = models.CharField(db_column='VENDOR', max_length=255, null=True)
187     bandwidth = models.IntegerField(db_column='BANDWIDTH', null=True)
188     mtu = models.IntegerField(db_column='MTU', null=True)
189     network_type = models.CharField(db_column='NETWORKTYPE', max_length=255, null=True)
190     segmentid = models.CharField(db_column='SEGMENTID', max_length=255, null=True)
191     networkqos = models.CharField(db_column='NETWORKQOS', max_length=255, null=True)
192     create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
193     physicalNetwork = models.CharField(db_column='PHYNETWORK', max_length=255, null=True)
194     is_shared = models.IntegerField(db_column='ISSHARED', default=0, null=True)
195     vlantrans = models.IntegerField(db_column='VLANTRANS', null=True)
196     routerExternal = models.IntegerField(db_column='ROUTEREXTERNAL', default=0, null=True)
197     nodeId = models.CharField(db_column='NODEID', max_length=255, null=True)
198
199 class SubNetworkInstModel(models.Model):
200     class Meta:
201         db_table = 'SUBNETWORKINST'
202
203     subnetworkid = models.CharField(db_column='SUBNETWORKID', primary_key=True, max_length=255)
204     vimid = models.CharField(db_column='VIMID', max_length=255)
205     resouceid = models.CharField(db_column='RESOURCEID', max_length=255)
206     networkid = models.CharField(db_column='NETWORKID', max_length=255)
207     insttype = models.IntegerField(db_column='INSTTYPE')
208     instid = models.CharField(db_column='INSTID', max_length=255)
209     name = models.CharField(db_column='NAME', max_length=255)
210     ipversion = models.IntegerField(db_column='IPVERSION', null=True)
211     gatewayip = models.CharField(db_column='GATEWAYIP', max_length=255, null=True)
212     isdhcpenabled = models.IntegerField(db_column='ISDHCPENABLED', null=True)
213     cidr = models.CharField(db_column='CIDR', max_length=255)
214     vdsname = models.CharField(db_column='VDSNAME', max_length=255, null=True)
215     operationalstate = models.CharField(db_column='OPERATIONALSTATE', max_length=255, null=True)
216     tenant = models.CharField(db_column='TENANT', max_length=255, null=True)
217     is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
218     create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
219     dnsNameservers = models.TextField(db_column='DNSNAMESERVERS', max_length=1024)
220     hostRoutes = models.TextField(db_column='HOSTROUTES', max_length=1024)
221     allocationPools = models.TextField(db_column='ALLOCATIONPOOLS', max_length=1024)
222
223 class VLInstModel(models.Model):
224     class Meta:
225         db_table = 'VLINST'
226
227     vlinstanceid = models.CharField(db_column='VLINSTANCEID', max_length=255, primary_key=True)
228     vldid = models.CharField(db_column='VLDID', max_length=255)
229     vlinstancename = models.CharField(db_column='VLINSTANCENAME', max_length=255, blank=True, null=True)
230     ownertype = models.IntegerField(db_column='OWNERTYPE')
231     ownerid = models.CharField(db_column='OWNERID', max_length=255)
232     relatednetworkid = models.CharField(db_column='RELATEDNETWORKID', max_length=255, blank=True, null=True)
233     relatedsubnetworkid = models.CharField(db_column='RELATEDSUBNETWORKID', max_length=255, blank=True, null=True)
234     vltype = models.IntegerField(db_column='VLTYPE', default=0)
235     vimid = models.CharField(db_column='VIMID', max_length=255)
236     tenant = models.CharField(db_column='TENANT', max_length=50)
237
238 class PortInstModel(models.Model):
239     class Meta:
240         db_table = 'PORTINST'
241
242     portid = models.CharField(db_column='PORTID', primary_key=True, max_length=255)
243     networkid = models.CharField(db_column='NETWORKID', max_length=255)
244     subnetworkid = models.CharField(db_column='SUBNETWORKID', max_length=255, null=True)
245     vimid = models.CharField(db_column='VIMID', max_length=255)
246     resouceid = models.CharField(db_column='RESOURCEID', max_length=255)
247     name = models.CharField(db_column='NAME', max_length=255, null=True)
248     insttype = models.IntegerField(db_column='INSTTYPE')
249     instid = models.CharField(db_column='INSTID', max_length=255)
250     cpinstanceid = models.CharField(db_column='CPINSTANCEID', max_length=255, null=True)
251     bandwidth = models.CharField(db_column='BANDWIDTH', max_length=255, null=True)
252     operationalstate = models.CharField(db_column='OPERATIONALSTATE', max_length=255, null=True)
253     ipaddress = models.CharField(db_column='IPADDRESS', max_length=255)
254     macaddress = models.CharField(db_column='MACADDRESS', max_length=255)
255     nicorder = models.CharField(db_column='NICORDER', max_length=255)
256     floatipaddress = models.CharField(db_column='FLOATIPADDRESS', max_length=255, null=True)
257     serviceipaddress = models.CharField(db_column='SERVICEIPADDRESS', max_length=255, null=True)
258     typevirtualnic = models.CharField(db_column='TYPEVIRTUALNIC', max_length=255, null=True)
259     sfcencapsulation = models.CharField(db_column='SFCENCAPSULATION', max_length=255, null=True)
260     direction = models.CharField(db_column='DIRECTION', max_length=255, null=True)
261     tenant = models.CharField(db_column='TENANT', max_length=255, null=True)
262     interfacename = models.CharField(db_column='INTERFACENAME', max_length=255, blank=True, null=True)
263     vmid = models.CharField(db_column='VMID', max_length=255, blank=True, null=True)
264     create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
265     securityGroups = models.CharField(db_column='SECURITYGROUPS', max_length=255)
266     is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
267     nodeId = models.CharField(db_column='NODEID', max_length=255, null=True)
268
269 class CPInstModel(models.Model):
270     class Meta:
271         db_table = 'CPINST'
272
273     cpinstanceid = models.CharField(db_column='CPINSTANCEID', max_length=255, primary_key=True)
274     cpdid = models.CharField(db_column='CPDID', max_length=255)
275     cpinstancename = models.CharField(db_column='CPINSTANCENAME', max_length=255)
276     vlinstanceid = models.CharField(db_column='VLINSTANCEID', max_length=255)
277     ownertype = models.IntegerField(db_column='OWNERTYPE')
278     ownerid = models.CharField(db_column='OWNERID', max_length=255)
279     relatedtype = models.IntegerField(db_column='RELATEDTYPE')
280     relatedvl = models.CharField(db_column='RELATEDVL', max_length=255, blank=True, null=True)
281     relatedcp = models.CharField(db_column='RELATEDCP', max_length=255, blank=True, null=True)
282     relatedport = models.CharField(db_column='RELATEDPORT', max_length=255, blank=True, null=True)