1 # Copyright (C) 2021 Wind River Systems, Inc.
\r
3 # Licensed under the Apache License, Version 2.0 (the "License");
\r
4 # you may not use this file except in compliance with the License.
\r
5 # You may obtain a copy of the License at
\r
7 # http://www.apache.org/licenses/LICENSE-2.0
\r
9 # Unless required by applicable law or agreed to in writing, software
\r
10 # distributed under the License is distributed on an "AS IS" BASIS,
\r
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
12 # See the License for the specific language governing permissions and
\r
13 # limitations under the License.
\r
17 from sqlalchemy import (
\r
28 from sqlalchemy.orm import mapper, relationship
\r
29 # from sqlalchemy.sql.expression import true
\r
31 from o2ims.domain import ocloud as ocloudModel
\r
33 logger = logging.getLogger(__name__)
\r
35 metadata = MetaData()
\r
40 Column("oCloudId", String(255), primary_key=True),
\r
41 Column("name", String(255)),
\r
42 Column("description", String(255)),
\r
43 Column("infrastructureManagementServiceEndpoint", String(255))
\r
46 resourcepool = Table(
\r
49 Column("resourcePoolId", String(255), primary_key=True),
\r
50 Column("name", String(255)),
\r
51 Column("location", String(255)),
\r
52 Column("oCloudId", ForeignKey("ocloud.oCloudId")),
\r
53 # Column("extensions", String(1024))
\r
56 resourcetype = Table(
\r
59 Column("resourceTypeId", String(255), primary_key=True),
\r
60 Column("oCloudId", ForeignKey("ocloud.oCloudId")),
\r
61 Column("name", String(255)),
\r
67 Column("resourceId", String(255), primary_key=True),
\r
68 Column("parentId", String(255)),
\r
69 Column("resourceTypeId", ForeignKey("resourcetype.resourceTypeId")),
\r
70 Column("resourcePoolId", ForeignKey("resourcepool.resourcePoolId")),
\r
71 Column("oCloudId", ForeignKey("ocloud.oCloudId"))
\r
74 deploymentmanager = Table(
\r
75 "deploymentmanager",
\r
77 Column("deploymentManagerId", String(255), primary_key=True),
\r
78 Column("name", String(255)),
\r
79 Column("deploymentManagementServiceEndpoint", String(255)),
\r
80 Column("oCloudId", ForeignKey("ocloud.oCloudId"))
\r
84 def start_o2ims_mappers():
\r
85 logger.info("Starting O2 IMS mappers")
\r
86 dm_mapper = mapper(ocloudModel.DeploymentManager, deploymentmanager)
\r
87 resourcepool_mapper = mapper(ocloudModel.ResourcePool, resourcepool)
\r
88 resourcetype_mapper = mapper(ocloudModel.ResourceType, resourcetype)
\r
89 # resource_mapper = mapper(ocloudModel.Resource, resource)
\r
94 "deploymentManagers": relationship(dm_mapper),
\r
95 "resourceTypes": relationship(resourcetype_mapper),
\r
96 "resourcePools": relationship(resourcepool_mapper)
\r