ff7f290de5d3fdf731badfeabd650e38d5d42a62
[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 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     mnfinstid = models.CharField(db_column='M_NFINSTID', max_length=200, blank=True, null=True)
23     nf_name = models.CharField(db_column='NFNAME', max_length=100, blank=True, null=True) #CreateVnfRequest.vnfInstanceName
24     template_id = models.CharField(db_column='TEMPLATEID', max_length=200, blank=True, null=True)
25     vnf_id = models.CharField(db_column='VNFID', max_length=200, blank=True, null=True)
26     package_id = models.CharField(db_column='PACKAGEID', max_length=200, blank=True, null=True)
27     vnfm_inst_id = models.CharField(db_column='VNFMINSTID', max_length=200, blank=True, null=True)
28     multivim = models.IntegerField(db_column='MULTIVIM', default=0)
29     ns_inst_id = models.CharField(db_column='NSINSTID', max_length=200, blank=True, null=True)
30     status = models.CharField(db_column='STATUS', max_length=20, blank=True, null=True)
31     flavour_id = models.CharField(db_column='FLAVOURID', max_length=200, blank=True, null=True) #InstantiateVnfRequest.flavourId
32     vnf_level = models.CharField(db_column='VNFLEVEL', max_length=200, blank=True, null=True) #InstantiateVnfRequest.instantiationLevelId
33     location = models.CharField(db_column='LOCATION', max_length=200, blank=True, null=True)
34     deploy_environment = models.CharField(db_column='DEPLOYENVIRONMENT', max_length=100, blank=True, null=True)
35     max_vm = models.IntegerField(db_column='MAXVM', blank=True, null=True)
36     max_cpu = models.IntegerField(db_column='MAXCPU', blank=True, null=True)
37     max_ram = models.IntegerField(db_column='MAXRAM', blank=True, null=True)
38     max_hd = models.IntegerField(db_column='MAXHD', blank=True, null=True)
39     max_shd = models.IntegerField(db_column='MAXSHD', blank=True, null=True)
40     max_net = models.IntegerField(db_column='MAXNET', blank=True, null=True)
41     version = models.CharField(db_column='VERSION', max_length=255, null=True)
42     vendor = models.CharField(db_column='VENDOR', max_length=255, null=True, blank=True)
43     producttype = models.CharField(db_column='PRODUCTTYPE', max_length=255, null=True)
44     netype = models.CharField(db_column='NETYPE', max_length=255, null=True)
45     vnfd_model = models.TextField(db_column='VNFDMODEL', max_length=20000, blank=True, null=True)
46     input_params = models.TextField(db_column='INPUTPARAMS', max_length=2000, blank=True, null=True)  #InstantiateVnfRequest.additionalParams
47     scale_params = models.TextField(db_column='SCALEPARAMS', max_length=2000, null=True, blank=True)
48     create_time = models.CharField(db_column='CREATETIME', max_length=200, null=True, blank=True)
49     lastuptime = models.CharField(db_column='LASTUPTIME', max_length=200, blank=True, null=True)
50     extension = models.TextField(db_column='EXTENSION', max_length=65535, blank=True, null=True)
51     initallocatedata = models.TextField(db_column='INITALLOCATEDATA', max_length=20000, blank=True, null=True)
52     predefinedvm = models.TextField(db_column='PREDEFINEDVM', max_length=65535, blank=True, null=True)
53     vnfextendtype = models.CharField(db_column='VNFEXTENDTYPE', max_length=255, null=True)
54
55     instantiationState = models.CharField(db_column='INSTANTIATIONSTATE', max_length=200, blank=True, null=True)
56     nf_desc = models.CharField(db_column='VNFINSTANCEDESC', max_length=200, blank=True, null=True)
57     vnfdid = models.CharField(db_column='VNFDID', max_length=200, blank=True, null=True)
58     vnfSoftwareVersion = models.CharField(db_column='VNFSOFTWAREVER', max_length=200, blank=True, null=True)
59     vnfConfigurableProperties = models.TextField(db_column='VNFCONFIGURABLEPROPERTIES', max_length=20000, blank=True, null=True)
60     localizationLanguage = models.CharField(db_column='LOCALIZATIONLANGUAGE', max_length=255, null=True)
61
62 class JobModel(models.Model):
63     class Meta:
64         db_table = 'JOB'
65
66     _database = 'job'
67
68     jobid = models.CharField(db_column='JOBID', primary_key=True, max_length=255)
69     jobtype = models.CharField(db_column='JOBTYPE', max_length=255)
70     jobaction = models.CharField(db_column='JOBACTION', max_length=255)
71     resid = models.CharField(db_column='RESID', max_length=255)
72     status = models.IntegerField(db_column='STATUS', null=True, blank=True)
73     starttime = models.CharField(db_column='STARTTIME', max_length=255, null=True, blank=True)
74     endtime = models.CharField(db_column='ENDTIME', max_length=255, null=True, blank=True)
75     progress = models.IntegerField(db_column='PROGRESS', null=True, blank=True)
76     user = models.CharField(db_column='USER', max_length=255, null=True, blank=True)
77     parentjobid = models.CharField(db_column='PARENTJOBID', max_length=255, null=True, blank=True)
78     resname = models.CharField(db_column='RESNAME', max_length=255, null=True, blank=True)
79
80     def toJSON(self):
81         import json
82         return json.dumps(dict([(attr, getattr(self, attr)) for attr in [f.name for f in self._meta.fields]]))
83
84 class JobStatusModel(models.Model):
85     class Meta:
86         db_table = 'JOB_STATUS'
87
88     _database = 'job'
89
90     indexid = models.IntegerField(db_column='INDEXID')
91     jobid = models.CharField(db_column='JOBID', max_length=255)
92     status = models.CharField(db_column='STATUS', max_length=255)
93     progress = models.IntegerField(db_column='PROGRESS', null=True, blank=True)
94     descp = models.TextField(db_column='DESCP', max_length=1024)
95     errcode = models.CharField(db_column='ERRCODE', max_length=255, null=True, blank=True)
96     addtime = models.CharField(db_column='ADDTIME', max_length=255, null=True, blank=True)
97
98     def toJSON(self):
99         import json
100         return json.dumps(dict([(attr, getattr(self, attr)) for attr in [f.name for f in self._meta.fields]]))
101
102 class NfvoRegInfoModel(models.Model):
103     class Meta:
104         db_table = 'NFVOREGINFO'
105
106     nfvoid = models.CharField(max_length=255, primary_key=True, db_column='NFVOID')
107     vnfminstid = models.CharField(max_length=255, db_column='VNFMINSTID')
108     apiurl = models.CharField(max_length=255, db_column='URL')
109     nfvouser = models.CharField(max_length=255, db_column='USERNAME', null=True)
110     nfvopassword = models.CharField(max_length=255, db_column='PASSWD', null=True)
111     authtype = models.IntegerField(db_column='AUTHTYPE', default=2)
112     clientcert = models.CharField(max_length=255, db_column='CLIENTCERT', null=True)
113     servercert = models.CharField(max_length=255, db_column='SERVERCERT', null=True)
114     regtime = models.CharField(max_length=255, db_column='REGTIME')
115
116 class StorageInstModel(models.Model):
117     class Meta:
118         db_table = 'STORAGEINST'
119
120     storageid = models.CharField(db_column='STORAGEID', primary_key=True, max_length=255)
121     vimid = models.CharField(db_column='VIMID', max_length=255)
122     resouceid = models.CharField(db_column='RESOURCEID', max_length=255)
123     insttype = models.IntegerField(db_column='INSTTYPE')
124     instid = models.CharField(db_column='INSTID', max_length=255)
125     name = models.CharField(db_column='NAME', max_length=255, null=True)
126     storagetype = models.CharField(db_column='STORAGETYPE', max_length=255)
127     size = models.CharField(db_column='SIZE', max_length=255)
128     rdmaenabled = models.IntegerField(db_column='RDMAENABLED', null=True)
129     disktype = models.CharField(db_column='DISKTYPE', max_length=255)
130     ownerid = models.CharField(db_column='OWNERID', max_length=255, null=True)
131     zoneid = models.CharField(db_column='ZONEID', max_length=255, null=True)
132     hostid = models.CharField(db_column='HOSTID', max_length=255, null=True)
133     operationalstate = models.CharField(db_column='OPERATIONALSTATE', max_length=255, null=True)
134     tenant = models.CharField(db_column='TENANT', max_length=50, null=True)
135     is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
136
137 class VmInstModel(models.Model):
138     class Meta:
139         db_table = 'VMINST'
140
141     vmid = models.CharField(db_column='VMID', primary_key=True, max_length=255)
142     vimid = models.CharField(db_column='VIMID', max_length=255)
143     resouceid = models.CharField(db_column='RESOURCEID', max_length=255)
144     insttype = models.IntegerField(db_column='INSTTYPE')
145     instid = models.CharField(db_column='INSTID', max_length=255)
146     vmname = models.CharField(db_column='VMNAME', max_length=255)
147     operationalstate = models.IntegerField(db_column='OPERATIONALSTATE', null=True)
148     zoneid = models.CharField(db_column='ZONEID', max_length=255, null=True)
149     tenant = models.CharField(db_column='TENANT', max_length=255, null=True)
150     hostid = models.CharField(db_column='HOSTID', max_length=255, null=True)
151     detailinfo = models.TextField(db_column='DETAILINFO', max_length=8192, null=True)
152     is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
153
154 class VNFCInstModel(models.Model):
155     class Meta:
156         db_table = 'VNFCINST'
157
158     vnfcinstanceid = models.CharField(db_column='VNFCINSTANCEID', max_length=255, primary_key=True)
159     vduid = models.CharField(db_column='VDUID', max_length=255)
160     vdutype = models.CharField(db_column='VDUTYPE', max_length=255)
161     nfinstid = models.CharField(db_column='NFINSTID', max_length=255)
162     vmid = models.CharField(db_column='VMID', max_length=255)
163
164 class FlavourInstModel(models.Model):
165     class Meta:
166         db_table = 'FLAVOURINST'
167
168     flavourid = models.CharField(db_column='FLAVOURID', max_length=255, primary_key=True)
169     name = models.CharField(db_column='NAME', max_length=255)
170     vcpu = models.CharField(db_column='VCPU', max_length=255)
171     memory = models.CharField(db_column='MEMORY', max_length=255)
172     extraspecs = models.CharField(db_column='EXTRASPECS', max_length=255)
173     instid = models.CharField(db_column='INSTID', max_length=255)
174     is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
175
176 class NetworkInstModel(models.Model):
177     class Meta:
178         db_table = 'NETWORKINST'
179
180     networkid = models.CharField(db_column='NETWORKID', primary_key=True, max_length=255)
181     vimid = models.CharField(db_column='VIMID', max_length=255)
182     resouceid = models.CharField(db_column='RESOURCEID', max_length=255)
183     insttype = models.IntegerField(db_column='INSTTYPE')
184     instid = models.CharField(db_column='INSTID', max_length=255)
185     name = models.CharField(db_column='NAME', max_length=255)
186     tenant = models.CharField(db_column='TENANT', max_length=255, null=True)
187     is_shared = models.IntegerField(db_column='ISSHARED', default=0, null=True)
188     is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
189     desc = models.CharField(db_column='DESC', max_length=255, null=True)
190     vendor = models.CharField(db_column='VENDOR', max_length=255, null=True)
191     bandwidth = models.IntegerField(db_column='BANDWIDTH', null=True)
192     mtu = models.IntegerField(db_column='MTU', null=True)
193     network_type = models.CharField(db_column='NETWORKTYPE', max_length=255, null=True)
194     segmentid = models.CharField(db_column='SEGMENTID', max_length=255, null=True)
195     vlantrans = models.IntegerField(db_column='VLANTRANS', null=True)
196     networkqos = models.CharField(db_column='NETWORKQOS', max_length=255, null=True)
197
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
219 class VLInstModel(models.Model):
220     class Meta:
221         db_table = 'VLINST'
222
223     vlinstanceid = models.CharField(db_column='VLINSTANCEID', max_length=255, primary_key=True)
224     vldid = models.CharField(db_column='VLDID', max_length=255)
225     vlinstancename = models.CharField(db_column='VLINSTANCENAME', max_length=255, blank=True, null=True)
226     ownertype = models.IntegerField(db_column='OWNERTYPE')
227     ownerid = models.CharField(db_column='OWNERID', max_length=255)
228     relatednetworkid = models.CharField(db_column='RELATEDNETWORKID', max_length=255, blank=True, null=True)
229     relatedsubnetworkid = models.CharField(db_column='RELATEDSUBNETWORKID', max_length=255, blank=True, null=True)
230     vltype = models.IntegerField(db_column='VLTYPE', default=0)
231     vimid = models.CharField(db_column='VIMID', max_length=255)
232     tenant = models.CharField(db_column='TENANT', max_length=50)
233
234 class PortInstModel(models.Model):
235     class Meta:
236         db_table = 'PORTINST'
237
238     portid = models.CharField(db_column='PORTID', primary_key=True, max_length=255)
239     networkid = models.CharField(db_column='NETWORKID', max_length=255)
240     subnetworkid = models.CharField(db_column='SUBNETWORKID', max_length=255, null=True)
241     vimid = models.CharField(db_column='VIMID', max_length=255)
242     resouceid = models.CharField(db_column='RESOURCEID', max_length=255)
243     name = models.CharField(db_column='NAME', max_length=255, null=True)
244     insttype = models.IntegerField(db_column='INSTTYPE')
245     instid = models.CharField(db_column='INSTID', max_length=255)
246     cpinstanceid = models.CharField(db_column='CPINSTANCEID', max_length=255, null=True)
247     bandwidth = models.CharField(db_column='BANDWIDTH', max_length=255, null=True)
248     operationalstate = models.CharField(db_column='OPERATIONALSTATE', max_length=255, null=True)
249     ipaddress = models.CharField(db_column='IPADDRESS', max_length=255)
250     macaddress = models.CharField(db_column='MACADDRESS', max_length=255)
251     nicorder = models.CharField(db_column='NICORDER', max_length=255)
252     floatipaddress = models.CharField(db_column='FLOATIPADDRESS', max_length=255, null=True)
253     serviceipaddress = models.CharField(db_column='SERVICEIPADDRESS', max_length=255, null=True)
254     typevirtualnic = models.CharField(db_column='TYPEVIRTUALNIC', max_length=255, null=True)
255     sfcencapsulation = models.CharField(db_column='SFCENCAPSULATION', max_length=255, null=True)
256     direction = models.CharField(db_column='DIRECTION', max_length=255, null=True)
257     tenant = models.CharField(db_column='TENANT', max_length=255, null=True)
258     interfacename = models.CharField(db_column='INTERFACENAME', max_length=255, blank=True, null=True)
259     vmid = models.CharField(db_column='VMID', max_length=255, blank=True, null=True)
260     is_predefined = models.IntegerField(db_column='ISPREDEFINED', default=0, null=True)
261
262 class CPInstModel(models.Model):
263     class Meta:
264         db_table = 'CPINST'
265
266     cpinstanceid = models.CharField(db_column='CPINSTANCEID', max_length=255, primary_key=True)
267     cpdid = models.CharField(db_column='CPDID', max_length=255)
268     cpinstancename = models.CharField(db_column='CPINSTANCENAME', max_length=255)
269     vlinstanceid = models.CharField(db_column='VLINSTANCEID', max_length=255)
270     ownertype = models.IntegerField(db_column='OWNERTYPE')
271     ownerid = models.CharField(db_column='OWNERID', max_length=255)
272     relatedtype = models.IntegerField(db_column='RELATEDTYPE')
273     relatedvl = models.CharField(db_column='RELATEDVL', max_length=255, blank=True, null=True)
274     relatedcp = models.CharField(db_column='RELATEDCP', max_length=255, blank=True, null=True)
275     relatedport = models.CharField(db_column='RELATEDPORT', max_length=255, blank=True, null=True)