# ============LICENSE_START======================================================= # Copyright (C) 2020 Huawei Technologies Co., Ltd. All rights reserved. # Contribution (C) 2022 Aarna Networks, Inc. All rights reserved. # ================================================================================ # 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. # ============LICENSE_END========================================================= import uuid from .utils import getLogger logger = getLogger("NssManager") class NssError(ValueError): pass def allocateNssi(requestBody): sliceProfile = requestBody["attributeListIn"] sliceProfileId = sliceProfile["sliceProfileId"] nSSId = uuid.uuid4().hex responseBody = { "attributeListOut": {}, "href": nSSId } logger.info("Allocate NSSI for sliceProfileId %s success, nSSId: %s" % (sliceProfileId, nSSId)) return responseBody def deallocateNssi(sliceProfileId, requestBody): nSSId = requestBody["nSSId"] logger.info("Deallocate NSSI for sliceProfileId %s success, nSSId: %s" % (sliceProfileId, nSSId)) return "" def activateNssi(snssai, requestBody): """ Method: activateNssi This method is internal and invoked from handleActivateNssi() callflow. As part of this, it logs the activate snssai, nssiId values from incoming request. Arguments: snssai, requestBody snssai represents below: 'sst': Identifies the service (e.g eMBB, URLLC,...) 'sd' : service differentiator within sst. requestBody: Incoming http request payload. Return value: '' """ nssiId = requestBody["nssiId"] #nsiId = requestBody["nsiId"] logger.info("Activate NSSI for snssai %s successful, nssiId: %s" % (snssai, nssiId)) return "" def deactivateNssi(snssai, requestBody): """ Method: deactivateNssi This method is internal and invoked from handleDeActivateNssi() callflow. As part of this, it logs the deactivate snssai, nssiId values from incoming request. Argument: snssai, requestBody snssai represents below: 'sst': Identifies the service (e.g eMBB, URLLC,...) 'sd' : service differentiator within sst. requestBody: Incoming http request payload. Return value: '' """ nssiId = requestBody["nssiId"] #nsiId = requestBody["nsiId"] logger.info("DeActivate NSSI for snssai %s successful, nssiId: %s" % (snssai, nssiId)) return ""