diff options
author | dyh <dengyuanhong@chinamobile.com> | 2019-09-04 09:52:48 +0800 |
---|---|---|
committer | dyh <dengyuanhong@chinamobile.com> | 2019-09-04 16:09:26 +0800 |
commit | a32c2b20207885d895bd96204cc166fca14db97b (patch) | |
tree | 1edd33368158dc5f057a0a9475dced3df6c3b24c /catalog/pub/database | |
parent | 431a5a35a8e0a26d21c663167303696db8a7a2a6 (diff) |
update for change to etsicatalog
Change-Id: Idc2a6950960a324964500a8c4701be422de2b782
Issue-ID: MODELING-216
Signed-off-by: dyh <dengyuanhong@chinamobile.com>
Diffstat (limited to 'catalog/pub/database')
-rw-r--r-- | catalog/pub/database/__init__.py | 13 | ||||
-rw-r--r-- | catalog/pub/database/admin.py | 361 | ||||
-rw-r--r-- | catalog/pub/database/migrations/0001_initial.py | 229 | ||||
-rw-r--r-- | catalog/pub/database/migrations/__init__.py | 13 | ||||
-rw-r--r-- | catalog/pub/database/models.py | 234 |
5 files changed, 850 insertions, 0 deletions
diff --git a/catalog/pub/database/__init__.py b/catalog/pub/database/__init__.py new file mode 100644 index 0000000..c7b6818 --- /dev/null +++ b/catalog/pub/database/__init__.py @@ -0,0 +1,13 @@ +# Copyright 2017 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. diff --git a/catalog/pub/database/admin.py b/catalog/pub/database/admin.py new file mode 100644 index 0000000..bff70cb --- /dev/null +++ b/catalog/pub/database/admin.py @@ -0,0 +1,361 @@ +# Copyright 2019 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.contrib import admin + +from catalog.pub.database.models import NSPackageModel +from catalog.pub.database.models import ServicePackageModel +from catalog.pub.database.models import VnfPackageModel +from catalog.pub.database.models import PnfPackageModel +from catalog.pub.database.models import SoftwareImageModel +from catalog.pub.database.models import JobModel +from catalog.pub.database.models import JobStatusModel +from catalog.pub.database.models import NsdmSubscriptionModel +from catalog.pub.database.models import VnfPkgSubscriptionModel + + +@admin.register(NSPackageModel) +class NSPackageModelAdmin(admin.ModelAdmin): + list_display_links = ('nsPackageId', 'nsdName') + fields = [ + "nsPackageId", + "nsPackageUri", + "checksum", + "sdcCsarId", + "onboardingState", + "operationalState", + "usageState", + "deletionPending", + "nsdId", + "invariantId", + "nsdName", + "nsdDesginer", + "nsdDescription", + "nsdVersion", + "userDefinedData", + "localFilePath", + "nsdModel" + ] + + list_display = [ + "nsPackageId", + "nsPackageUri", + "checksum", + "sdcCsarId", + "onboardingState", + "operationalState", + "usageState", + "deletionPending", + "nsdId", + "invariantId", + "nsdName", + "nsdDesginer", + "nsdDescription", + "nsdVersion", + "userDefinedData", + "localFilePath", + "nsdModel" + ] + + search_fields = ( + "nsPackageId", + "nsdId", + "nsdName", + "sdcCsarId" + ) + + +@admin.register(ServicePackageModel) +class ServicePackageModelAdmin(admin.ModelAdmin): + list_display_links = ('servicePackageId', 'servicedName') + fields = [ + "servicePackageId", + "servicePackageUri", + "checksum", + "sdcCsarId", + "onboardingState", + "operationalState", + "usageState", + "deletionPending", + "servicedId", + "invariantId", + "servicedName", + "servicedDesigner", + "servicedDescription", + "servicedVersion", + "userDefinedData", + "localFilePath", + "servicedModel" + ] + + list_display = [ + "servicePackageId", + "servicePackageUri", + "checksum", + "sdcCsarId", + "onboardingState", + "operationalState", + "usageState", + "deletionPending", + "servicedId", + "invariantId", + "servicedName", + "servicedDesigner", + "servicedDescription", + "servicedVersion", + "userDefinedData", + "localFilePath", + "servicedModel" + ] + + search_fields = ( + "servicePackageId", + "sdcCsarId", + "servicedName", + "onboardingState" + ) + + +@admin.register(VnfPackageModel) +class VnfPackageModelAdmin(admin.ModelAdmin): + list_display_links = ('vnfPackageId', 'vnfdId') + fields = [ + "vnfPackageId", + "vnfPackageUri", + "SdcCSARUri", + "checksum", + "onboardingState", + "operationalState", + "usageState", + "deletionPending", + "vnfdId", + "vnfVendor", + "vnfdProductName", + "vnfdVersion", + "vnfSoftwareVersion", + "userDefinedData", + "localFilePath", + "vnfdModel" + ] + + list_display = [ + "vnfPackageId", + "vnfPackageUri", + "SdcCSARUri", + "checksum", + "onboardingState", + "operationalState", + "usageState", + "deletionPending", + "vnfdId", + "vnfVendor", + "vnfdProductName", + "vnfdVersion", + "vnfSoftwareVersion", + "userDefinedData", + "localFilePath", + "vnfdModel" + ] + + search_fields = ( + "vnfPackageId", + "onboardingState", + "vnfdId" + ) + + +@admin.register(PnfPackageModel) +class PnfPackageModelAdmin(admin.ModelAdmin): + list_display_links = ('pnfPackageId', 'pnfdId') + fields = [ + "pnfPackageId", + "pnfPackageUri", + "sdcCSARUri", + "checksum", + "onboardingState", + "usageState", + "deletionPending", + "pnfdId", + "pnfVendor", + "pnfdProductName", + "pnfdVersion", + "pnfSoftwareVersion", + "userDefinedData", + "localFilePath", + "pnfdModel", + "pnfdName" + ] + + list_display = [ + "pnfPackageId", + "pnfPackageUri", + "sdcCSARUri", + "checksum", + "onboardingState", + "usageState", + "deletionPending", + "pnfdId", + "pnfVendor", + "pnfdProductName", + "pnfdVersion", + "pnfSoftwareVersion", + "userDefinedData", + "localFilePath", + "pnfdModel", + "pnfdName" + ] + + search_fields = ( + "pnfPackageId", + "onboardingState", + "pnfdId" + ) + + +@admin.register(SoftwareImageModel) +class SoftwareImageModelAdmin(admin.ModelAdmin): + list_display_links = ('imageid', 'vnfPackageId') + fields = [ + "imageid", + "containerFormat", + "diskFormat", + "mindisk", + "minram", + "usermetadata", + "vnfPackageId", + "filePath", + "status", + "vimid" + ] + + list_display = [ + "imageid", + "containerFormat", + "diskFormat", + "mindisk", + "minram", + "usermetadata", + "vnfPackageId", + "filePath", + "status", + "vimid" + ] + + search_fields = ( + "imageid", + "vnfPackageId", + "vimid" + ) + + +@admin.register(NsdmSubscriptionModel) +class NsdmSubscriptionModelAdmin(admin.ModelAdmin): + list_display_links = ('subscriptionid', 'notificationTypes') + fields = [ + "subscriptionid", + "notificationTypes", + "auth_info", + "callback_uri", + "nsdInfoId", + "nsdId", + "nsdName", + "nsdVersion", + "nsdDesigner", + "nsdInvariantId", + "vnfPkgIds", + "pnfdInfoIds", + "nestedNsdInfoIds", + "nsdOnboardingState", + "nsdOperationalState", + "nsdUsageState", + "pnfdId", + "pnfdName", + "pnfdVersion", + "pnfdProvider", + "pnfdInvariantId", + "pnfdOnboardingState", + "pnfdUsageState", + "links" + ] + + list_display = [ + "subscriptionid", + "notificationTypes", + "auth_info", + "callback_uri", + "nsdInfoId", + "nsdId", + "nsdName", + "nsdVersion", + "nsdDesigner", + "nsdInvariantId", + "vnfPkgIds", + "pnfdInfoIds", + "nestedNsdInfoIds", + "nsdOnboardingState", + "nsdOperationalState", + "nsdUsageState", + "pnfdId", + "pnfdName", + "pnfdVersion", + "pnfdProvider", + "pnfdInvariantId", + "pnfdOnboardingState", + "pnfdUsageState", + "links" + ] + + search_fields = ( + "subscriptionid", + "notificationTypes" + ) + + +@admin.register(VnfPkgSubscriptionModel) +class VnfPkgSubscriptionModelAdmin(admin.ModelAdmin): + list_display_links = ('subscription_id', 'notification_types') + fields = [ + "subscription_id", + "callback_uri", + "auth_info", + "usage_states", + "notification_types", + "vnfd_id", + "vnf_pkg_id", + "operation_states", + "vnf_products_from_provider", + "links" + ] + + list_display = [ + "subscription_id", + "callback_uri", + "auth_info", + "usage_states", + "notification_types", + "vnfd_id", + "vnf_pkg_id", + "operation_states", + "vnf_products_from_provider", + "links" + ] + + search_fields = ( + "subscription_id", + "notification_types" + ) + + +admin.site.register(JobModel) +admin.site.register(JobStatusModel) diff --git a/catalog/pub/database/migrations/0001_initial.py b/catalog/pub/database/migrations/0001_initial.py new file mode 100644 index 0000000..98ca84c --- /dev/null +++ b/catalog/pub/database/migrations/0001_initial.py @@ -0,0 +1,229 @@ +# Copyright 2019 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. +# Generated by Django 1.11.9 on 2019-04-16 03:53 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='JobModel', + fields=[ + ('jobid', models.CharField(db_column='JOBID', max_length=255, primary_key=True, serialize=False)), + ('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(blank=True, db_column='STATUS', null=True)), + ('starttime', models.CharField(blank=True, db_column='STARTTIME', max_length=255, null=True)), + ('endtime', models.CharField(blank=True, db_column='ENDTIME', max_length=255, null=True)), + ('progress', models.IntegerField(blank=True, db_column='PROGRESS', null=True)), + ('user', models.CharField(blank=True, db_column='USER', max_length=255, null=True)), + ('parentjobid', models.CharField(blank=True, db_column='PARENTJOBID', max_length=255, null=True)), + ('resname', models.CharField(blank=True, db_column='RESNAME', max_length=255, null=True)), + ], + options={ + 'db_table': 'CATALOG_JOB', + }, + ), + migrations.CreateModel( + name='JobStatusModel', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('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(blank=True, db_column='PROGRESS', null=True)), + ('descp', models.TextField(db_column='DESCP', max_length=65535)), + ('errcode', models.CharField(blank=True, db_column='ERRCODE', max_length=255, null=True)), + ('addtime', models.CharField(blank=True, db_column='ADDTIME', max_length=255, null=True)), + ], + options={ + 'db_table': 'CATALOG_JOB_STATUS', + }, + ), + migrations.CreateModel( + name='NsdmSubscriptionModel', + fields=[ + ('subscriptionid', models.CharField(db_column='SUBSCRIPTIONID', max_length=255, primary_key=True, serialize=False)), + ('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')), + ], + options={ + 'db_table': 'CATALOG_NSDM_SUBSCRIPTION', + }, + ), + migrations.CreateModel( + name='NSPackageModel', + fields=[ + ('nsPackageId', models.CharField(db_column='NSPACKAGEID', max_length=50, primary_key=True, serialize=False)), + ('nsPackageUri', models.CharField(blank=True, db_column='NSPACKAGEURI', max_length=300, null=True)), + ('checksum', models.CharField(blank=True, db_column='CHECKSUM', max_length=50, null=True)), + ('sdcCsarId', models.CharField(blank=True, db_column='SDCCSARID', max_length=50, null=True)), + ('onboardingState', models.CharField(blank=True, db_column='ONBOARDINGSTATE', max_length=20, null=True)), + ('operationalState', models.CharField(blank=True, db_column='OPERATIONALSTATE', max_length=20, null=True)), + ('usageState', models.CharField(blank=True, db_column='USAGESTATE', max_length=20, null=True)), + ('deletionPending', models.CharField(blank=True, db_column='DELETIONPENDING', max_length=20, null=True)), + ('nsdId', models.CharField(blank=True, db_column='NSDID', max_length=50, null=True)), + ('invariantId', models.CharField(blank=True, db_column='INVARIANTID', max_length=50, null=True)), + ('nsdName', models.CharField(blank=True, db_column='NSDNAME', max_length=50, null=True)), + ('nsdDesginer', models.CharField(blank=True, db_column='NSDDESIGNER', max_length=50, null=True)), + ('nsdDescription', models.CharField(blank=True, db_column='NSDDESCRIPTION', max_length=100, null=True)), + ('nsdVersion', models.CharField(blank=True, db_column='NSDVERSION', max_length=20, null=True)), + ('userDefinedData', models.TextField(blank=True, db_column='USERDEFINEDDATA', max_length=1024, null=True)), + ('localFilePath', models.CharField(blank=True, db_column='LOCALFILEPATH', max_length=300, null=True)), + ('nsdModel', models.TextField(blank=True, db_column='NSDMODEL', max_length=65535, null=True)), + ], + options={ + 'db_table': 'CATALOG_NSPACKAGE', + }, + ), + migrations.CreateModel( + name='PnfPackageModel', + fields=[ + ('pnfPackageId', models.CharField(db_column='PNFPACKAGEID', max_length=50, primary_key=True, serialize=False)), + ('pnfPackageUri', models.CharField(blank=True, db_column='PNFPACKAGEURI', max_length=300, null=True)), + ('sdcCSARUri', models.CharField(blank=True, db_column='SDCCSARURI', max_length=300, null=True)), + ('checksum', models.CharField(blank=True, db_column='CHECKSUM', max_length=50, null=True)), + ('onboardingState', models.CharField(blank=True, db_column='ONBOARDINGSTATE', max_length=20, null=True)), + ('usageState', models.CharField(blank=True, db_column='USAGESTATE', max_length=20, null=True)), + ('deletionPending', models.CharField(blank=True, db_column='DELETIONPENDING', max_length=20, null=True)), + ('pnfdId', models.CharField(blank=True, db_column='PNFDID', max_length=50, null=True)), + ('pnfVendor', models.CharField(blank=True, db_column='VENDOR', max_length=50, null=True)), + ('pnfdProductName', models.CharField(blank=True, db_column='PNFDPRODUCTNAME', max_length=50, null=True)), + ('pnfdVersion', models.CharField(blank=True, db_column='PNFDVERSION', max_length=20, null=True)), + ('pnfSoftwareVersion', models.CharField(blank=True, db_column='PNFSOFTWAREVERSION', max_length=20, null=True)), + ('userDefinedData', models.TextField(blank=True, db_column='USERDEFINEDDATA', max_length=1024, null=True)), + ('localFilePath', models.CharField(blank=True, db_column='LOCALFILEPATH', max_length=300, null=True)), + ('pnfdModel', models.TextField(blank=True, db_column='PNFDMODEL', max_length=65535, null=True)), + ('pnfdName', models.TextField(blank=True, db_column='PNFDNAME', max_length=65535, null=True)), + ], + options={ + 'db_table': 'CATALOG_PNFPACKAGE', + }, + ), + migrations.CreateModel( + name='ServicePackageModel', + fields=[ + ('servicePackageId', models.CharField(db_column='SERVICEPACKAGEID', max_length=50, primary_key=True, serialize=False)), + ('servicePackageUri', models.CharField(blank=True, db_column='SERVICEPACKAGEURI', max_length=300, null=True)), + ('checksum', models.CharField(blank=True, db_column='CHECKSUM', max_length=50, null=True)), + ('sdcCsarId', models.CharField(blank=True, db_column='SDCCSARID', max_length=50, null=True)), + ('onboardingState', models.CharField(blank=True, db_column='ONBOARDINGSTATE', max_length=20, null=True)), + ('operationalState', models.CharField(blank=True, db_column='OPERATIONALSTATE', max_length=20, null=True)), + ('usageState', models.CharField(blank=True, db_column='USAGESTATE', max_length=20, null=True)), + ('deletionPending', models.CharField(blank=True, db_column='DELETIONPENDING', max_length=20, null=True)), + ('servicedId', models.CharField(blank=True, db_column='SERVICEDID', max_length=50, null=True)), + ('invariantId', models.CharField(blank=True, db_column='INVARIANTID', max_length=50, null=True)), + ('servicedName', models.CharField(blank=True, db_column='SERVICEDNAME', max_length=50, null=True)), + ('servicedDesigner', models.CharField(blank=True, db_column='SERVICEDDESIGNER', max_length=50, null=True)), + ('servicedDescription', models.CharField(blank=True, db_column='SERVICEDDESCRIPTION', max_length=100, null=True)), + ('servicedVersion', models.CharField(blank=True, db_column='SERVICEDVERSION', max_length=20, null=True)), + ('userDefinedData', models.TextField(blank=True, db_column='USERDEFINEDDATA', max_length=1024, null=True)), + ('localFilePath', models.CharField(blank=True, db_column='LOCALFILEPATH', max_length=300, null=True)), + ('servicedModel', models.TextField(blank=True, db_column='SERVICEDMODEL', max_length=65535, null=True)), + ], + options={ + 'db_table': 'CATALOG_SERVICEPACKAGE', + }, + ), + migrations.CreateModel( + name='SoftwareImageModel', + fields=[ + ('imageid', models.CharField(db_column='IMAGEID', max_length=50, primary_key=True, serialize=False)), + ('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)), + ], + options={ + 'db_table': 'CATALOG_SOFTWAREIMAGEMODEL', + }, + ), + migrations.CreateModel( + name='VnfPackageModel', + fields=[ + ('vnfPackageId', models.CharField(db_column='VNFPACKAGEID', max_length=50, primary_key=True, serialize=False)), + ('vnfPackageUri', models.CharField(blank=True, db_column='VNFPACKAGEURI', max_length=300, null=True)), + ('SdcCSARUri', models.CharField(blank=True, db_column='SDCCSARURI', max_length=300, null=True)), + ('checksum', models.CharField(blank=True, db_column='CHECKSUM', max_length=50, null=True)), + ('onboardingState', models.CharField(blank=True, db_column='ONBOARDINGSTATE', max_length=20, null=True)), + ('operationalState', models.CharField(blank=True, db_column='OPERATIONALSTATE', max_length=20, null=True)), + ('usageState', models.CharField(blank=True, db_column='USAGESTATE', max_length=20, null=True)), + ('deletionPending', models.CharField(blank=True, db_column='DELETIONPENDING', max_length=20, null=True)), + ('vnfdId', models.CharField(blank=True, db_column='VNFDID', max_length=50, null=True)), + ('vnfVendor', models.CharField(blank=True, db_column='VENDOR', max_length=50, null=True)), + ('vnfdProductName', models.CharField(blank=True, db_column='VNFDPRODUCTNAME', max_length=50, null=True)), + ('vnfdVersion', models.CharField(blank=True, db_column='VNFDVERSION', max_length=20, null=True)), + ('vnfSoftwareVersion', models.CharField(blank=True, db_column='VNFSOFTWAREVERSION', max_length=20, null=True)), + ('userDefinedData', models.TextField(blank=True, db_column='USERDEFINEDDATA', max_length=1024, null=True)), + ('localFilePath', models.CharField(blank=True, db_column='LOCALFILEPATH', max_length=300, null=True)), + ('vnfdModel', models.TextField(blank=True, db_column='VNFDMODEL', max_length=65535, null=True)), + ], + options={ + 'db_table': 'CATALOG_VNFPACKAGE', + }, + ), + migrations.CreateModel( + name='VnfPkgSubscriptionModel', + fields=[ + ('subscription_id', models.CharField(db_column='SUBSCRIPTION_ID', max_length=255, primary_key=True, serialize=False)), + ('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')), + ], + options={ + 'db_table': 'VNF_PKG_SUBSCRIPTION', + }, + ), + ] diff --git a/catalog/pub/database/migrations/__init__.py b/catalog/pub/database/migrations/__init__.py new file mode 100644 index 0000000..0c847b7 --- /dev/null +++ b/catalog/pub/database/migrations/__init__.py @@ -0,0 +1,13 @@ +# Copyright 2019 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. 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 |