diff --git a/src/nbi/service/rest_server/nbi_plugins/tfs_api/Resources.py b/src/nbi/service/rest_server/nbi_plugins/tfs_api/Resources.py index eaa21352527a95591829e6bad87de8ecef1df521..07d389122b6a4ee1ba5e82677066a0bfb7b7d42c 100644 --- a/src/nbi/service/rest_server/nbi_plugins/tfs_api/Resources.py +++ b/src/nbi/service/rest_server/nbi_plugins/tfs_api/Resources.py @@ -301,16 +301,20 @@ class Link(_Resource): def put(self, link_uuid : str): link_json = request.get_json() link = grpc_link(link_json) - virtual_types = {LinkTypeEnum.LINKTYPE_VIRTUAL_COPPER, LinkTypeEnum.LINKTYPE_VIRTUAL_OPTICAL} if link_uuid != link.link_id.link_uuid.uuid: raise BadRequest('Mismatching link_uuid') - elif link.link_type in virtual_types: - link = grpc_link(link_json) - return format_grpc_to_json(self.vntmanager_client.SetVirtualLink(link)) - return format_grpc_to_json(self.context_client.SetLink(grpc_link(link))) + if link.link_type == LinkTypeEnum.LINKTYPE_VIRTUAL: + return format_grpc_to_json(self.vntmanager_client.SetVirtualLink(link)) + else: + return format_grpc_to_json(self.context_client.SetLink(link)) def delete(self, link_uuid : str): - return format_grpc_to_json(self.context_client.RemoveLink(grpc_link_id(link_uuid))) + link_id = grpc_link_id(link_uuid) + link = self.context_client.GetLink(link_id) + if link.link_type == LinkTypeEnum.LINKTYPE_VIRTUAL: + return format_grpc_to_json(self.vntmanager_client.RemoveVirtualLink(link_id)) + else: + return format_grpc_to_json(self.context_client.RemoveLink(link_id)) class ConnectionIds(_Resource): def get(self, context_uuid : str, service_uuid : str):