aboutsummaryrefslogtreecommitdiffstats
path: root/catalog/pub/database/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'catalog/pub/database/models.py')
-rw-r--r--catalog/pub/database/models.py234
1 files changed, 234 insertions, 0 deletions
diff --git a/catalog/pub/database/models.py b/catalog/pub/database/models.py
new file mode 100644
index 0000000..9f0b498
--- /dev/null
+++ b/catalog/pub/database/models.py
@@ -0,0 +1,234 @@
+# Copyright 2016-2018 ZTE Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from django.db import models
+
+
+class NSPackageModel(models.Model):
+ nsPackageId = models.CharField(db_column='NSPACKAGEID', primary_key=True, max_length=50)
+ nsPackageUri = models.CharField(db_column='NSPACKAGEURI', max_length=300, null=True, blank=True)
+ checksum = models.CharField(db_column='CHECKSUM', max_length=50, null=True, blank=True) # checksum
+ sdcCsarId = models.CharField(db_column='SDCCSARID', max_length=50, null=True, blank=True) # SdcCSARUri
+ onboardingState = models.CharField(db_column='ONBOARDINGSTATE', max_length=20, blank=True, null=True)
+ operationalState = models.CharField(db_column='OPERATIONALSTATE', max_length=20, blank=True, null=True) # operationalState
+ usageState = models.CharField(db_column='USAGESTATE', max_length=20, blank=True, null=True) # usageState
+ deletionPending = models.CharField(db_column='DELETIONPENDING', max_length=20, blank=True, null=True) # deletionPending
+ nsdId = models.CharField(db_column='NSDID', max_length=50, blank=True, null=True)
+ invariantId = models.CharField(db_column='INVARIANTID', max_length=50, blank=True, null=True) # nsdInvariantId
+ nsdName = models.CharField(db_column='NSDNAME', max_length=50, blank=True, null=True)
+ nsdDesginer = models.CharField(db_column='NSDDESIGNER', max_length=50, null=True, blank=True)
+ nsdDescription = models.CharField(db_column='NSDDESCRIPTION', max_length=100, null=True, blank=True)
+ nsdVersion = models.CharField(db_column='NSDVERSION', max_length=20, null=True, blank=True)
+ userDefinedData = models.TextField(db_column='USERDEFINEDDATA', max_length=1024, blank=True, null=True) # userDefinedData
+ localFilePath = models.CharField(db_column='LOCALFILEPATH', max_length=300, null=True, blank=True)
+ nsdModel = models.TextField(db_column='NSDMODEL', max_length=65535, null=True, blank=True)
+
+ class Meta:
+ db_table = 'CATALOG_NSPACKAGE'
+
+
+class ServicePackageModel(models.Model):
+ servicePackageId = models.CharField(db_column='SERVICEPACKAGEID', primary_key=True, max_length=50)
+ servicePackageUri = models.CharField(db_column='SERVICEPACKAGEURI', max_length=300, null=True, blank=True)
+ checksum = models.CharField(db_column='CHECKSUM', max_length=50, null=True, blank=True) # checksum
+ sdcCsarId = models.CharField(db_column='SDCCSARID', max_length=50, null=True, blank=True) # SdcCSARUri
+ onboardingState = models.CharField(db_column='ONBOARDINGSTATE', max_length=20, blank=True, null=True)
+ operationalState = models.CharField(db_column='OPERATIONALSTATE', max_length=20, blank=True, null=True) # operationalState
+ usageState = models.CharField(db_column='USAGESTATE', max_length=20, blank=True, null=True) # usageState
+ deletionPending = models.CharField(db_column='DELETIONPENDING', max_length=20, blank=True, null=True) # deletionPending
+ servicedId = models.CharField(db_column='SERVICEDID', max_length=50, blank=True, null=True)
+ invariantId = models.CharField(db_column='INVARIANTID', max_length=50, blank=True, null=True) # servicedInvariantId
+ servicedName = models.CharField(db_column='SERVICEDNAME', max_length=50, blank=True, null=True)
+ servicedDesigner = models.CharField(db_column='SERVICEDDESIGNER', max_length=50, null=True, blank=True)
+ servicedDescription = models.CharField(db_column='SERVICEDDESCRIPTION', max_length=100, null=True, blank=True)
+ servicedVersion = models.CharField(db_column='SERVICEDVERSION', max_length=20, null=True, blank=True)
+ userDefinedData = models.TextField(db_column='USERDEFINEDDATA', max_length=1024, blank=True, null=True) # userDefinedData
+ localFilePath = models.CharField(db_column='LOCALFILEPATH', max_length=300, null=True, blank=True)
+ servicedModel = models.TextField(db_column='SERVICEDMODEL', max_length=65535, null=True, blank=True)
+
+ class Meta:
+ db_table = 'CATALOG_SERVICEPACKAGE'
+
+
+class VnfPackageModel(models.Model):
+ # uuid = models.CharField(db_column='UUID', primary_key=True, max_length=255)
+ vnfPackageId = models.CharField(db_column='VNFPACKAGEID', primary_key=True, max_length=50) # onboardedVnfPkgInfoId
+ vnfPackageUri = models.CharField(db_column='VNFPACKAGEURI', max_length=300, null=True, blank=True) # downloadUri
+ SdcCSARUri = models.CharField(db_column='SDCCSARURI', max_length=300, null=True, blank=True) # SdcCSARUri
+ checksum = models.CharField(db_column='CHECKSUM', max_length=50, null=True, blank=True) # checksum
+ onboardingState = models.CharField(db_column='ONBOARDINGSTATE', max_length=20, blank=True, null=True)
+ operationalState = models.CharField(db_column='OPERATIONALSTATE', max_length=20, blank=True, null=True) # operationalState
+ usageState = models.CharField(db_column='USAGESTATE', max_length=20, blank=True, null=True) # usageState
+ deletionPending = models.CharField(db_column='DELETIONPENDING', max_length=20, blank=True, null=True) # deletionPending
+ vnfdId = models.CharField(db_column='VNFDID', max_length=50, blank=True, null=True) # vnfdId
+ vnfVendor = models.CharField(db_column='VENDOR', max_length=50, blank=True, null=True) # vnfProvider
+ vnfdProductName = models.CharField(db_column='VNFDPRODUCTNAME', max_length=50, blank=True, null=True) # vnfProductName
+ vnfdVersion = models.CharField(db_column='VNFDVERSION', max_length=20, blank=True, null=True) # vnfdVersion
+ vnfSoftwareVersion = models.CharField(db_column='VNFSOFTWAREVERSION', max_length=20, blank=True, null=True) # vnfSoftwareVersion
+ userDefinedData = models.TextField(db_column='USERDEFINEDDATA', max_length=1024, blank=True, null=True) # userDefinedData
+ localFilePath = models.CharField(db_column='LOCALFILEPATH', max_length=300, null=True, blank=True)
+ vnfdModel = models.TextField(db_column='VNFDMODEL', max_length=65535, blank=True, null=True) # vnfd
+
+ class Meta:
+ db_table = 'CATALOG_VNFPACKAGE'
+
+
+class PnfPackageModel(models.Model):
+ # uuid = models.CharField(db_column='UUID', primary_key=True, max_length=255)
+ pnfPackageId = models.CharField(db_column='PNFPACKAGEID', primary_key=True, max_length=50) # onboardedPnfPkgInfoId
+ pnfPackageUri = models.CharField(db_column='PNFPACKAGEURI', max_length=300, null=True, blank=True) # downloadUri
+ sdcCSARUri = models.CharField(db_column='SDCCSARURI', max_length=300, null=True, blank=True) # sdcCSARUri
+ checksum = models.CharField(db_column='CHECKSUM', max_length=50, null=True, blank=True) # checksum
+ onboardingState = models.CharField(db_column='ONBOARDINGSTATE', max_length=20, blank=True, null=True)
+ usageState = models.CharField(db_column='USAGESTATE', max_length=20, blank=True, null=True) # usageState
+ deletionPending = models.CharField(db_column='DELETIONPENDING', max_length=20, blank=True, null=True) # deletionPending
+ pnfdId = models.CharField(db_column='PNFDID', max_length=50, blank=True, null=True) # pnfdId
+ pnfVendor = models.CharField(db_column='VENDOR', max_length=50, blank=True, null=True) # pnfProvider
+ pnfdProductName = models.CharField(db_column='PNFDPRODUCTNAME', max_length=50, blank=True, null=True) # pnfProductName
+ pnfdVersion = models.CharField(db_column='PNFDVERSION', max_length=20, blank=True, null=True) # pnfdVersion
+ pnfSoftwareVersion = models.CharField(db_column='PNFSOFTWAREVERSION', max_length=20, blank=True, null=True) # pnfSoftwareVersion
+ userDefinedData = models.TextField(db_column='USERDEFINEDDATA', max_length=1024, blank=True, null=True) # userDefinedData
+ localFilePath = models.CharField(db_column='LOCALFILEPATH', max_length=300, null=True, blank=True)
+ pnfdModel = models.TextField(db_column='PNFDMODEL', max_length=65535, blank=True, null=True) # pnfd
+ pnfdName = models.TextField(db_column='PNFDNAME', max_length=65535, blank=True, null=True) # pnfd_name
+
+ class Meta:
+ db_table = 'CATALOG_PNFPACKAGE'
+
+
+class SoftwareImageModel(models.Model):
+ imageid = models.CharField(db_column='IMAGEID', primary_key=True, max_length=50)
+ containerFormat = models.CharField(db_column='CONTAINERFORMAT', max_length=20)
+ diskFormat = models.CharField(db_column='DISKFORMAT', max_length=20)
+ mindisk = models.CharField(db_column='MINDISK', max_length=20)
+ minram = models.CharField(db_column='MINRAM', max_length=20)
+ usermetadata = models.CharField(db_column='USAERMETADATA', max_length=1024)
+ vnfPackageId = models.CharField(db_column='VNFPACKAGEID', max_length=50)
+ filePath = models.CharField(db_column='FILEPATH', max_length=300)
+ status = models.CharField(db_column='STATUS', max_length=10)
+ vimid = models.CharField(db_column='VIMID', max_length=50)
+ # filetype = models.CharField(db_column='FILETYPE', max_length=2)
+ # vimuser = models.CharField(db_column='VIMUSER', max_length=50)
+ # tenant = models.CharField(db_column='TENANT', max_length=50)
+ # purpose = models.CharField(db_column='PURPOSE', max_length=1000)
+
+ class Meta:
+ db_table = 'CATALOG_SOFTWAREIMAGEMODEL'
+
+
+class JobModel(models.Model):
+ jobid = models.CharField(db_column='JOBID', primary_key=True, max_length=255)
+ jobtype = models.CharField(db_column='JOBTYPE', max_length=255)
+ jobaction = models.CharField(db_column='JOBACTION', max_length=255)
+ resid = models.CharField(db_column='RESID', max_length=255)
+ status = models.IntegerField(db_column='STATUS', null=True, blank=True)
+ starttime = models.CharField(db_column='STARTTIME', max_length=255, null=True, blank=True)
+ endtime = models.CharField(db_column='ENDTIME', max_length=255, null=True, blank=True)
+ progress = models.IntegerField(db_column='PROGRESS', null=True, blank=True)
+ user = models.CharField(db_column='USER', max_length=255, null=True, blank=True)
+ parentjobid = models.CharField(db_column='PARENTJOBID', max_length=255, null=True, blank=True)
+ resname = models.CharField(db_column='RESNAME', max_length=255, null=True, blank=True)
+
+ class Meta:
+ db_table = 'CATALOG_JOB'
+
+ def toJSON(self):
+ import json
+ return json.dumps(dict([(attr, getattr(self, attr)) for attr in [f.name for f in self._meta.fields]]))
+
+
+class JobStatusModel(models.Model):
+ indexid = models.IntegerField(db_column='INDEXID')
+ jobid = models.CharField(db_column='JOBID', max_length=255)
+ status = models.CharField(db_column='STATUS', max_length=255)
+ progress = models.IntegerField(db_column='PROGRESS', null=True, blank=True)
+ descp = models.TextField(db_column='DESCP', max_length=65535)
+ errcode = models.CharField(db_column='ERRCODE', max_length=255, null=True, blank=True)
+ addtime = models.CharField(db_column='ADDTIME', max_length=255, null=True, blank=True)
+
+ class Meta:
+ db_table = 'CATALOG_JOB_STATUS'
+
+ def toJSON(self):
+ import json
+ return json.dumps(dict([(attr, getattr(self, attr)) for attr in [f.name for f in self._meta.fields]]))
+
+
+class NsdmSubscriptionModel(models.Model):
+ subscriptionid = models.CharField(db_column='SUBSCRIPTIONID', max_length=255, primary_key=True)
+ notificationTypes = models.TextField(db_column='NOTIFICATIONTYPES', null=True)
+ auth_info = models.TextField(db_column='AUTHINFO', null=True)
+ callback_uri = models.CharField(db_column='CALLBACKURI', max_length=255)
+ nsdInfoId = models.TextField(db_column='NSDINFOID', null=True)
+ nsdId = models.TextField(db_column='NSDID', null=True)
+ nsdName = models.TextField(db_column='NSDNAME', null=True)
+ nsdVersion = models.TextField(db_column='NSDVERSION', null=True)
+ nsdDesigner = models.TextField(db_column='NSDDESIGNER', null=True)
+ nsdInvariantId = models.TextField(db_column='NSDINVARIANTID', null=True)
+ vnfPkgIds = models.TextField(db_column='VNFPKGIDS', null=True)
+ pnfdInfoIds = models.TextField(db_column='PNFDINFOIDS', null=True)
+ nestedNsdInfoIds = models.TextField(db_column='NESTEDNSDINFOIDS', null=True)
+ nsdOnboardingState = models.TextField(db_column='NSDONBOARDINGSTATE', null=True)
+ nsdOperationalState = models.TextField(db_column='NSDOPERATIONALSTATE', null=True)
+ nsdUsageState = models.TextField(db_column='NSDUSAGESTATE', null=True)
+ pnfdId = models.TextField(db_column='PNFDID', null=True)
+ pnfdName = models.TextField(db_column='PNFDNAME', null=True)
+ pnfdVersion = models.TextField(db_column='PNFDVERSION', null=True)
+ pnfdProvider = models.TextField(db_column='PNFDPROVIDER', null=True)
+ pnfdInvariantId = models.TextField(db_column='PNFDINVARIANTID', null=True)
+ pnfdOnboardingState = models.TextField(db_column='PNFDONBOARDINGSTATE', null=True)
+ pnfdUsageState = models.TextField(db_column='PNFDUSAGESTATE', null=True)
+ links = models.TextField(db_column='LINKS')
+
+ class Meta:
+ db_table = 'CATALOG_NSDM_SUBSCRIPTION'
+
+ def toJSON(self):
+ import json
+ return json.dumps(dict([(attr, getattr(self, attr)) for attr in [f.name for f in self._meta.fields]]))
+
+
+class VnfPkgSubscriptionModel(models.Model):
+ subscription_id = models.CharField(max_length=255, primary_key=True, db_column='SUBSCRIPTION_ID')
+ callback_uri = models.URLField(db_column="CALLBACK_URI", max_length=255)
+ auth_info = models.TextField(db_column="AUTH_INFO")
+ usage_states = models.TextField(db_column="USAGE_STATES")
+ notification_types = models.TextField(db_column="NOTIFICATION_TYPES")
+ vnfd_id = models.TextField(db_column="VNFD_ID")
+ vnf_pkg_id = models.TextField(db_column="VNF_PKG_ID")
+ operation_states = models.TextField(db_column="OPERATION_STATES")
+ vnf_products_from_provider = \
+ models.TextField(db_column="VNF_PRODUCTS_FROM_PROVIDER")
+ links = models.TextField(db_column="LINKS")
+
+ class Meta:
+ db_table = 'VNF_PKG_SUBSCRIPTION'
+
+ def toDict(self):
+ import json
+ subscription_obj = {
+ "id": self.subscription_id,
+ "callbackUri": self.callback_uri,
+ "_links": json.loads(self.links)
+ }
+ filter_obj = {
+ "notificationTypes": json.loads(self.notification_types),
+ "vnfdId": json.loads(self.vnfd_id),
+ "vnfPkgId": json.loads(self.vnf_pkg_id),
+ "operationalState": json.loads(self.operation_states),
+ "usageState": json.loads(self.usage_states),
+ "vnfProductsFromProviders": json.loads(self.vnf_products_from_provider)
+ }
+ subscription_obj["filter"] = filter_obj
+ return subscription_obj