Add the command that registers to the SMO; Make the create registration and create...
[pti/o2.git] / o2ims / adapter / orm.py
index a9d2cea..29fff79 100644 (file)
 #  See the License for the specific language governing permissions and\r
 #  limitations under the License.\r
 \r
+# from typing_extensions import Required\r
 from sqlalchemy import (\r
     Table,\r
     MetaData,\r
     Column,\r
-    Integer,\r
+    Integer,\r
     String,\r
+    Text,\r
+    Enum,\r
     # Date,\r
+    DateTime,\r
     ForeignKey,\r
+    # Boolean,\r
     # engine,\r
     # event,\r
 )\r
 \r
 from sqlalchemy.orm import mapper, relationship\r
+# from sqlalchemy.sql.sqltypes import Integer\r
 \r
 from o2ims.domain import ocloud as ocloudModel\r
+from o2ims.domain import subscription_obj as subModel\r
+from o2ims.domain.resource_type import ResourceTypeEnum\r
 \r
 from o2common.helper import o2logging\r
 logger = o2logging.get_logger(__name__)\r
@@ -36,6 +44,11 @@ metadata = MetaData()
 ocloud = Table(\r
     "ocloud",\r
     metadata,\r
+    Column("updatetime", DateTime),\r
+    Column("createtime", DateTime),\r
+    Column("hash", String(255)),\r
+    Column("version_number", Integer),\r
+\r
     Column("oCloudId", String(255), primary_key=True),\r
     Column("globalcloudId", String(255)),\r
     Column("name", String(255)),\r
@@ -47,7 +60,12 @@ ocloud = Table(
 resourcetype = Table(\r
     "resourcetype",\r
     metadata,\r
+    Column("updatetime", DateTime),\r
+    Column("createtime", DateTime),\r
+    Column("hash", String(255)),\r
+\r
     Column("resourceTypeId", String(255), primary_key=True),\r
+    Column("resourceTypeEnum", Enum(ResourceTypeEnum), nullable=False),\r
     Column("oCloudId", ForeignKey("ocloud.oCloudId")),\r
     Column("name", String(255)),\r
     Column("vendor", String(255)),\r
@@ -60,6 +78,11 @@ resourcetype = Table(
 resourcepool = Table(\r
     "resourcepool",\r
     metadata,\r
+    Column("updatetime", DateTime),\r
+    Column("createtime", DateTime),\r
+    Column("hash", String(255)),\r
+    Column("version_number", Integer),\r
+\r
     Column("resourcePoolId", String(255), primary_key=True),\r
     Column("oCloudId", ForeignKey("ocloud.oCloudId")),\r
     Column("globalLocationId", String(255)),\r
@@ -73,20 +96,30 @@ resourcepool = Table(
 resource = Table(\r
     "resource",\r
     metadata,\r
+    Column("updatetime", DateTime),\r
+    Column("createtime", DateTime),\r
+    Column("hash", String(255)),\r
+    Column("version_number", Integer),\r
+\r
     Column("resourceId", String(255), primary_key=True),\r
     Column("resourceTypeId", ForeignKey("resourcetype.resourceTypeId")),\r
     Column("resourcePoolId", ForeignKey("resourcepool.resourcePoolId")),\r
+    Column("name", String(255)),\r
     # Column("globalAssetId", String(255)),\r
-    # Column("oCloudId", ForeignKey("ocloud.oCloudId")),\r
     Column("parentId", String(255)),\r
     Column("description", String(255)),\r
-    # Column("elements", String(255))\r
+    Column("elements", Text())\r
     # Column("extensions", String(1024))\r
 )\r
 \r
 deploymentmanager = Table(\r
     "deploymentmanager",\r
     metadata,\r
+    Column("updatetime", DateTime),\r
+    Column("createtime", DateTime),\r
+    Column("hash", String(255)),\r
+    Column("version_number", Integer),\r
+\r
     Column("deploymentManagerId", String(255), primary_key=True),\r
     Column("oCloudId", ForeignKey("ocloud.oCloudId")),\r
     Column("name", String(255)),\r
@@ -101,12 +134,29 @@ deploymentmanager = Table(
 subscription = Table(\r
     "subscription",\r
     metadata,\r
+    Column("updatetime", DateTime),\r
+    Column("createtime", DateTime),\r
+    Column("hash", String(255)),\r
+    Column("version_number", Integer),\r
+\r
     Column("subscriptionId", String(255), primary_key=True),\r
     Column("callback", String(255)),\r
     Column("consumerSubscriptionId", String(255)),\r
     Column("filter", String(255)),\r
 )\r
 \r
+registration = Table(\r
+    "registration",\r
+    metadata,\r
+    Column("updatetime", DateTime),\r
+    Column("createtime", DateTime),\r
+\r
+    Column("registrationId", String(255), primary_key=True),\r
+    Column("callback", String(255)),\r
+    Column("status", String(255)),\r
+    Column("comments", String(255)),\r
+)\r
+\r
 \r
 def start_o2ims_mappers(engine=None):\r
     logger.info("Starting O2 IMS mappers")\r
@@ -130,7 +180,8 @@ def start_o2ims_mappers(engine=None):
             "resourcePools": relationship(resourcepool_mapper)\r
         }\r
     )\r
-    mapper(ocloudModel.Subscription, subscription)\r
+    mapper(subModel.Subscription, subscription)\r
+    mapper(subModel.Registration, registration)\r
 \r
     if engine is not None:\r
         metadata.create_all(engine)\r