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 o2common.service import unit_of_work
\r
18 from o2ims.views.ocloud_dto import SubscriptionDTO
\r
19 from o2ims.domain.subscription_obj import Subscription
\r
22 def oclouds(uow: unit_of_work.AbstractUnitOfWork):
\r
24 li = uow.oclouds.list()
\r
25 return [r.serialize() for r in li]
\r
28 def ocloud_one(ocloudid: str, uow: unit_of_work.AbstractUnitOfWork):
\r
30 first = uow.oclouds.get(ocloudid)
\r
31 return first.serialize() if first is not None else None
\r
34 def resource_types(uow: unit_of_work.AbstractUnitOfWork):
\r
36 li = uow.resource_types.list()
\r
37 return [r.serialize() for r in li]
\r
40 def resource_type_one(resourceTypeId: str,
\r
41 uow: unit_of_work.AbstractUnitOfWork):
\r
43 first = uow.resource_types.get(resourceTypeId)
\r
44 return first.serialize() if first is not None else None
\r
47 def resource_pools(uow: unit_of_work.AbstractUnitOfWork):
\r
49 li = uow.resource_pools.list()
\r
50 return [r.serialize() for r in li]
\r
53 def resource_pool_one(resourcePoolId: str,
\r
54 uow: unit_of_work.AbstractUnitOfWork):
\r
56 first = uow.resource_pools.get(resourcePoolId)
\r
57 return first.serialize() if first is not None else None
\r
60 def resources(resourcePoolId: str, uow: unit_of_work.AbstractUnitOfWork):
\r
62 li = uow.resources.list(resourcePoolId)
\r
63 return [r.serialize() for r in li]
\r
66 def resource_one(resourceId: str, uow: unit_of_work.AbstractUnitOfWork):
\r
68 first = uow.resources.get(resourceId)
\r
69 return first.serialize() if first is not None else None
\r
72 def deployment_managers(uow: unit_of_work.AbstractUnitOfWork):
\r
74 li = uow.deployment_managers.list()
\r
75 return [r.serialize() for r in li]
\r
78 def deployment_manager_one(deploymentManagerId: str,
\r
79 uow: unit_of_work.AbstractUnitOfWork):
\r
81 first = uow.deployment_managers.get(deploymentManagerId)
\r
82 return first.serialize() if first is not None else None
\r
85 def subscriptions(uow: unit_of_work.AbstractUnitOfWork):
\r
87 li = uow.subscriptions.list()
\r
88 return [r.serialize() for r in li]
\r
91 def subscription_one(subscriptionId: str,
\r
92 uow: unit_of_work.AbstractUnitOfWork):
\r
94 first = uow.subscriptions.get(subscriptionId)
\r
95 return first.serialize() if first is not None else None
\r
98 def subscription_create(subscriptionDto: SubscriptionDTO.subscription,
\r
99 uow: unit_of_work.AbstractUnitOfWork):
\r
101 sub_uuid = str(uuid.uuid4())
\r
102 subscription = Subscription(
\r
103 sub_uuid, subscriptionDto['callback'],
\r
104 subscriptionDto['consumerSubscriptionId'],
\r
105 subscriptionDto['filter'])
\r
107 uow.subscriptions.add(subscription)
\r
109 return {"subscriptionId": sub_uuid}
\r
112 def subscription_delete(subscriptionId: str,
\r
113 uow: unit_of_work.AbstractUnitOfWork):
\r
115 uow.subscriptions.delete(subscriptionId)
\r