1 # Copyright 2016-2018 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 NSPackageModel(models.Model):
19 nsPackageId = models.CharField(db_column='NSPACKAGEID', primary_key=True, max_length=50)
20 nsPackageUri = models.CharField(db_column='NSPACKAGEURI', max_length=300, null=True, blank=True)
21 checksum = models.CharField(db_column='CHECKSUM', max_length=50, null=True, blank=True) # checksum
22 sdcCsarId = models.CharField(db_column='SDCCSARID', max_length=50, null=True, blank=True) # SdcCSARUri
23 onboardingState = models.CharField(db_column='ONBOARDINGSTATE', max_length=20, blank=True, null=True)
24 operationalState = models.CharField(db_column='OPERATIONALSTATE', max_length=20, blank=True, null=True) # operationalState
25 usageState = models.CharField(db_column='USAGESTATE', max_length=20, blank=True, null=True) # usageState
26 deletionPending = models.CharField(db_column='DELETIONPENDING', max_length=20, blank=True, null=True) # deletionPending
27 nsdId = models.CharField(db_column='NSDID', max_length=50, blank=True, null=True)
28 invariantId = models.CharField(db_column='INVARIANTID', max_length=50, blank=True, null=True) # nsdInvariantId
29 nsdName = models.CharField(db_column='NSDNAME', max_length=50, blank=True, null=True)
30 nsdDesginer = models.CharField(db_column='NSDDESIGNER', max_length=50, null=True, blank=True)
31 nsdDescription = models.CharField(db_column='NSDDESCRIPTION', max_length=100, null=True, blank=True)
32 nsdVersion = models.CharField(db_column='NSDVERSION', max_length=20, null=True, blank=True)
33 userDefinedData = models.TextField(db_column='USERDEFINEDDATA', max_length=1024, blank=True, null=True) # userDefinedData
34 localFilePath = models.CharField(db_column='LOCALFILEPATH', max_length=300, null=True, blank=True)
35 nsdModel = models.TextField(db_column='NSDMODEL', max_length=65535, null=True, blank=True)
38 db_table = 'CATALOG_NSPACKAGE'
41 class ServicePackageModel(models.Model):
42 servicePackageId = models.CharField(db_column='SERVICEPACKAGEID', primary_key=True, max_length=50)
43 servicePackageUri = models.CharField(db_column='SERVICEPACKAGEURI', max_length=300, null=True, blank=True)
44 checksum = models.CharField(db_column='CHECKSUM', max_length=50, null=True, blank=True) # checksum
45 sdcCsarId = models.CharField(db_column='SDCCSARID', max_length=50, null=True, blank=True) # SdcCSARUri
46 onboardingState = models.CharField(db_column='ONBOARDINGSTATE', max_length=20, blank=True, null=True)
47 operationalState = models.CharField(db_column='OPERATIONALSTATE', max_length=20, blank=True, null=True) # operationalState
48 usageState = models.CharField(db_column='USAGESTATE', max_length=20, blank=True, null=True) # usageState
49 deletionPending = models.CharField(db_column='DELETIONPENDING', max_length=20, blank=True, null=True) # deletionPending
50 servicedId = models.CharField(db_column='SERVICEDID', max_length=50, blank=True, null=True)
51 invariantId = models.CharField(db_column='INVARIANTID', max_length=50, blank=True, null=True) # servicedInvariantId
52 servicedName = models.CharField(db_column='SERVICEDNAME', max_length=50, blank=True, null=True)
53 servicedDesigner = models.CharField(db_column='SERVICEDDESIGNER', max_length=50, null=True, blank=True)
54 servicedDescription = models.CharField(db_column='SERVICEDDESCRIPTION', max_length=100, null=True, blank=True)
55 servicedVersion = models.CharField(db_column='SERVICEDVERSION', max_length=20, null=True, blank=True)
56 userDefinedData = models.TextField(db_column='USERDEFINEDDATA', max_length=1024, blank=True, null=True) # userDefinedData
57 localFilePath = models.CharField(db_column='LOCALFILEPATH', max_length=300, null=True, blank=True)
58 servicedModel = models.TextField(db_column='SERVICEDMODEL', max_length=65535, null=True, blank=True)
61 db_table = 'CATALOG_SERVICEPACKAGE'
64 class VnfPackageModel(models.Model):
65 # uuid = models.CharField(db_column='UUID', primary_key=True, max_length=255)
66 vnfPackageId = models.CharField(db_column='VNFPACKAGEID', primary_key=True, max_length=50) # onboardedVnfPkgInfoId
67 vnfPackageUri = models.CharField(db_column='VNFPACKAGEURI', max_length=300, null=True, blank=True) # downloadUri
68 SdcCSARUri = models.CharField(db_column='SDCCSARURI', max_length=300, null=True, blank=True) # SdcCSARUri
69 checksum = models.CharField(db_column='CHECKSUM', max_length=50, null=True, blank=True) # checksum
70 onboardingState = models.CharField(db_column='ONBOARDINGSTATE', max_length=20, blank=True, null=True)
71 operationalState = models.CharField(db_column='OPERATIONALSTATE', max_length=20, blank=True, null=True) # operationalState
72 usageState = models.CharField(db_column='USAGESTATE', max_length=20, blank=True, null=True) # usageState
73 deletionPending = models.CharField(db_column='DELETIONPENDING', max_length=20, blank=True, null=True) # deletionPending
74 vnfdId = models.CharField(db_column='VNFDID', max_length=50, blank=True, null=True) # vnfdId
75 vnfVendor = models.CharField(db_column='VENDOR', max_length=50, blank=True, null=True) # vnfProvider
76 vnfdProductName = models.CharField(db_column='VNFDPRODUCTNAME', max_length=50, blank=True, null=True) # vnfProductName
77 vnfdVersion = models.CharField(db_column='VNFDVERSION', max_length=20, blank=True, null=True) # vnfdVersion
78 vnfSoftwareVersion = models.CharField(db_column='VNFSOFTWAREVERSION', max_length=20, blank=True, null=True) # vnfSoftwareVersion
79 userDefinedData = models.TextField(db_column='USERDEFINEDDATA', max_length=1024, blank=True, null=True) # userDefinedData
80 localFilePath = models.CharField(db_column='LOCALFILEPATH', max_length=300, null=True, blank=True)
81 vnfdModel = models.TextField(db_column='VNFDMODEL', max_length=65535, blank=True, null=True) # vnfd
84 db_table = 'CATALOG_VNFPACKAGE'
87 class PnfPackageModel(models.Model):
88 # uuid = models.CharField(db_column='UUID', primary_key=True, max_length=255)
89 pnfPackageId = models.CharField(db_column='PNFPACKAGEID', primary_key=True, max_length=50) # onboardedPnfPkgInfoId
90 pnfPackageUri = models.CharField(db_column='PNFPACKAGEURI', max_length=300, null=True, blank=True) # downloadUri
91 sdcCSARUri = models.CharField(db_column='SDCCSARURI', max_length=300, null=True, blank=True) # sdcCSARUri
92 checksum = models.CharField(db_column='CHECKSUM', max_length=50, null=True, blank=True) # checksum
93 onboardingState = models.CharField(db_column='ONBOARDINGSTATE', max_length=20, blank=True, null=True)
94 usageState = models.CharField(db_column='USAGESTATE', max_length=20, blank=True, null=True) # usageState
95 deletionPending = models.CharField(db_column='DELETIONPENDING', max_length=20, blank=True, null=True) # deletionPending
96 pnfdId = models.CharField(db_column='PNFDID', max_length=50, blank=True, null=True) # pnfdId
97 pnfVendor = models.CharField(db_column='VENDOR', max_length=50, blank=True, null=True) # pnfProvider
98 pnfdProductName = models.CharField(db_column='PNFDPRODUCTNAME', max_length=50, blank=True, null=True) # pnfProductName
99 pnfdVersion = models.CharField(db_column='PNFDVERSION', max_length=20, blank=True, null=True) # pnfdVersion
100 pnfSoftwareVersion = models.CharField(db_column='PNFSOFTWAREVERSION', max_length=20, blank=True, null=True) # pnfSoftwareVersion
101 userDefinedData = models.TextField(db_column='USERDEFINEDDATA', max_length=1024, blank=True, null=True) # userDefinedData
102 localFilePath = models.CharField(db_column='LOCALFILEPATH', max_length=300, null=True, blank=True)
103 pnfdModel = models.TextField(db_column='PNFDMODEL', max_length=65535, blank=True, null=True) # pnfd
104 pnfdName = models.TextField(db_column='PNFDNAME', max_length=65535, blank=True, null=True) # pnfd_name
107 db_table = 'CATALOG_PNFPACKAGE'
110 class SoftwareImageModel(models.Model):
111 imageid = models.CharField(db_column='IMAGEID', primary_key=True, max_length=50)
112 containerFormat = models.CharField(db_column='CONTAINERFORMAT', max_length=20)
113 diskFormat = models.CharField(db_column='DISKFORMAT', max_length=20)
114 mindisk = models.CharField(db_column='MINDISK', max_length=20)
115 minram = models.CharField(db_column='MINRAM', max_length=20)
116 usermetadata = models.CharField(db_column='USAERMETADATA', max_length=1024)
117 vnfPackageId = models.CharField(db_column='VNFPACKAGEID', max_length=50)
118 filePath = models.CharField(db_column='FILEPATH', max_length=300)
119 status = models.CharField(db_column='STATUS', max_length=10)
120 vimid = models.CharField(db_column='VIMID', max_length=50)
121 # filetype = models.CharField(db_column='FILETYPE', max_length=2)
122 # vimuser = models.CharField(db_column='VIMUSER', max_length=50)
123 # tenant = models.CharField(db_column='TENANT', max_length=50)
124 # purpose = models.CharField(db_column='PURPOSE', max_length=1000)
127 db_table = 'CATALOG_SOFTWAREIMAGEMODEL'
130 class JobModel(models.Model):
131 jobid = models.CharField(db_column='JOBID', primary_key=True, max_length=255)
132 jobtype = models.CharField(db_column='JOBTYPE', max_length=255)
133 jobaction = models.CharField(db_column='JOBACTION', max_length=255)
134 resid = models.CharField(db_column='RESID', max_length=255)
135 status = models.IntegerField(db_column='STATUS', null=True, blank=True)
136 starttime = models.CharField(db_column='STARTTIME', max_length=255, null=True, blank=True)
137 endtime = models.CharField(db_column='ENDTIME', max_length=255, null=True, blank=True)
138 progress = models.IntegerField(db_column='PROGRESS', null=True, blank=True)
139 user = models.CharField(db_column='USER', max_length=255, null=True, blank=True)
140 parentjobid = models.CharField(db_column='PARENTJOBID', max_length=255, null=True, blank=True)
141 resname = models.CharField(db_column='RESNAME', max_length=255, null=True, blank=True)
144 db_table = 'CATALOG_JOB'
148 return json.dumps(dict([(attr, getattr(self, attr)) for attr in [f.name for f in self._meta.fields]]))
151 class JobStatusModel(models.Model):
152 indexid = models.IntegerField(db_column='INDEXID')
153 jobid = models.CharField(db_column='JOBID', max_length=255)
154 status = models.CharField(db_column='STATUS', max_length=255)
155 progress = models.IntegerField(db_column='PROGRESS', null=True, blank=True)
156 descp = models.TextField(db_column='DESCP', max_length=65535)
157 errcode = models.CharField(db_column='ERRCODE', max_length=255, null=True, blank=True)
158 addtime = models.CharField(db_column='ADDTIME', max_length=255, null=True, blank=True)
161 db_table = 'CATALOG_JOB_STATUS'
165 return json.dumps(dict([(attr, getattr(self, attr)) for attr in [f.name for f in self._meta.fields]]))
168 class NsdmSubscriptionModel(models.Model):
169 subscriptionid = models.CharField(db_column='SUBSCRIPTIONID', max_length=255, primary_key=True)
170 notificationTypes = models.TextField(db_column='NOTIFICATIONTYPES', null=True)
171 auth_info = models.TextField(db_column='AUTHINFO', null=True)
172 callback_uri = models.CharField(db_column='CALLBACKURI', max_length=255)
173 nsdInfoId = models.TextField(db_column='NSDINFOID', null=True)
174 nsdId = models.TextField(db_column='NSDID', null=True)
175 nsdName = models.TextField(db_column='NSDNAME', null=True)
176 nsdVersion = models.TextField(db_column='NSDVERSION', null=True)
177 nsdDesigner = models.TextField(db_column='NSDDESIGNER', null=True)
178 nsdInvariantId = models.TextField(db_column='NSDINVARIANTID', null=True)
179 vnfPkgIds = models.TextField(db_column='VNFPKGIDS', null=True)
180 pnfdInfoIds = models.TextField(db_column='PNFDINFOIDS', null=True)
181 nestedNsdInfoIds = models.TextField(db_column='NESTEDNSDINFOIDS', null=True)
182 nsdOnboardingState = models.TextField(db_column='NSDONBOARDINGSTATE', null=True)
183 nsdOperationalState = models.TextField(db_column='NSDOPERATIONALSTATE', null=True)
184 nsdUsageState = models.TextField(db_column='NSDUSAGESTATE', null=True)
185 pnfdId = models.TextField(db_column='PNFDID', null=True)
186 pnfdName = models.TextField(db_column='PNFDNAME', null=True)
187 pnfdVersion = models.TextField(db_column='PNFDVERSION', null=True)
188 pnfdProvider = models.TextField(db_column='PNFDPROVIDER', null=True)
189 pnfdInvariantId = models.TextField(db_column='PNFDINVARIANTID', null=True)
190 pnfdOnboardingState = models.TextField(db_column='PNFDONBOARDINGSTATE', null=True)
191 pnfdUsageState = models.TextField(db_column='PNFDUSAGESTATE', null=True)
192 links = models.TextField(db_column='LINKS')
195 db_table = 'CATALOG_NSDM_SUBSCRIPTION'
199 return json.dumps(dict([(attr, getattr(self, attr)) for attr in [f.name for f in self._meta.fields]]))
202 class VnfPkgSubscriptionModel(models.Model):
203 subscription_id = models.CharField(max_length=255, primary_key=True, db_column='SUBSCRIPTION_ID')
204 callback_uri = models.URLField(db_column="CALLBACK_URI", max_length=255)
205 auth_info = models.TextField(db_column="AUTH_INFO")
206 usage_states = models.TextField(db_column="USAGE_STATES")
207 notification_types = models.TextField(db_column="NOTIFICATION_TYPES")
208 vnfd_id = models.TextField(db_column="VNFD_ID")
209 vnf_pkg_id = models.TextField(db_column="VNF_PKG_ID")
210 operation_states = models.TextField(db_column="OPERATION_STATES")
211 vnf_products_from_provider = \
212 models.TextField(db_column="VNF_PRODUCTS_FROM_PROVIDER")
213 links = models.TextField(db_column="LINKS")
216 db_table = 'VNF_PKG_SUBSCRIPTION'
221 "id": self.subscription_id,
222 "callbackUri": self.callback_uri,
223 "_links": json.loads(self.links)
226 "notificationTypes": json.loads(self.notification_types),
227 "vnfdId": json.loads(self.vnfd_id),
228 "vnfPkgId": json.loads(self.vnf_pkg_id),
229 "operationalState": json.loads(self.operation_states),
230 "usageState": json.loads(self.usage_states),
231 "vnfProductsFromProviders": json.loads(self.vnf_products_from_provider)
233 subscription_obj["filter"] = filter_obj
234 return subscription_obj