From 0cf07628eefad6b567b8617583946314dd3ceea4 Mon Sep 17 00:00:00 2001 From: Michal Jagiello Date: Mon, 12 Jun 2023 14:36:21 +0000 Subject: [SO] Add SO catalog db adapter class To communicate with so-catalog-db-adapter service Issue-ID: INT-2226 Signed-off-by: Michal Jagiello Change-Id: Id181c66f6e89cae314a6973798027bf3c831dab7 --- src/onapsdk/configuration/global_settings.py | 63 ++++++++++++++-------------- src/onapsdk/so/catalog_cb_adapter.py | 52 +++++++++++++++++++++++ src/onapsdk/so/so_db_adapter.py | 4 ++ 3 files changed, 88 insertions(+), 31 deletions(-) create mode 100644 src/onapsdk/so/catalog_cb_adapter.py (limited to 'src/onapsdk') diff --git a/src/onapsdk/configuration/global_settings.py b/src/onapsdk/configuration/global_settings.py index 25cdf80..fa0ec58 100644 --- a/src/onapsdk/configuration/global_settings.py +++ b/src/onapsdk/configuration/global_settings.py @@ -21,37 +21,38 @@ ###################### ## API -AAI_URL = "https://aai.api.sparky.simpledemo.onap.org:30233" -AAI_API_VERSION = "v27" -AAI_AUTH = "Basic QUFJOkFBSQ==" -AAI_BULK_CHUNK = 30 -CDS_URL = "http://portal.api.simpledemo.onap.org:30449" -CDS_AUTH = ("ccsdkapps", "ccsdkapps") -CPS_URL = "http://portal.api.simpledemo.onap.org:8080" -CPS_AUTH = ("cpsuser", "cpsr0cks!") -CPS_VERSION = "v2" -MSB_URL = "https://msb.api.simpledemo.onap.org:30283" -K8SPLUGIN_URL = "http://k8splugin.api.simpledemo.onap.org:30455" -SDC_BE_URL = "https://sdc.api.be.simpledemo.onap.org:30204" -SDC_FE_URL = "https://sdc.api.fe.simpledemo.onap.org:30207" -SDC_AUTH = "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=" -SDNC_URL = "https://sdnc.api.simpledemo.onap.org:30267" -SDNC_AUTH = "Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ==" -SO_URL = "http://so.api.simpledemo.onap.org:30277" -SO_API_VERSION = "v7" -SO_AUTH = "Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==" -SO_CAT_DB_AUTH = "Basic YnBlbDpwYXNzd29yZDEk" -VID_URL = "https://vid.api.simpledemo.onap.org:30200" -VID_API_VERSION = "/vid" -CLAMP_URL = "https://clamp.api.simpledemo.onap.org:30258" -CLAMP_AUTH = "Basic ZGVtb0BwZW9wbGUub3NhYWYub3JnOmRlbW8xMjM0NTYh" -VES_URL = "http://ves.api.simpledemo.onap.org:30417" -DMAAP_URL = "http://dmaap.api.simpledemo.onap.org:3904" -NBI_URL = "https://nbi.api.simpledemo.onap.org:30274" -NBI_API_VERSION = "/nbi/api/v4" -DCAEMOD_URL = "" -HOLMES_URL = "https://aai.api.sparky.simpledemo.onap.org:30293" -POLICY_URL = "" +AAI_URL = "https://aai.api.sparky.simpledemo.onap.org:30233" +AAI_API_VERSION = "v27" +AAI_AUTH = "Basic QUFJOkFBSQ==" +AAI_BULK_CHUNK = 30 +CDS_URL = "http://portal.api.simpledemo.onap.org:30449" +CDS_AUTH = ("ccsdkapps", "ccsdkapps") +CPS_URL = "http://portal.api.simpledemo.onap.org:8080" +CPS_AUTH = ("cpsuser", "cpsr0cks!") +CPS_VERSION = "v2" +MSB_URL = "https://msb.api.simpledemo.onap.org:30283" +K8SPLUGIN_URL = "http://k8splugin.api.simpledemo.onap.org:30455" +SDC_BE_URL = "https://sdc.api.be.simpledemo.onap.org:30204" +SDC_FE_URL = "https://sdc.api.fe.simpledemo.onap.org:30207" +SDC_AUTH = "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=" # pylint: disable=line-too-long +SDNC_URL = "https://sdnc.api.simpledemo.onap.org:30267" +SDNC_AUTH = "Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ==" # pylint: disable=line-too-long +SO_CATALOG_DB_ADAPTER_URL = "http://so-catalog-db-adapter:8082" +SO_URL = "http://so.api.simpledemo.onap.org:30277" +SO_API_VERSION = "v7" +SO_AUTH = "Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==" +SO_CAT_DB_AUTH = "Basic YnBlbDpwYXNzd29yZDEk" +VID_URL = "https://vid.api.simpledemo.onap.org:30200" +VID_API_VERSION = "/vid" +CLAMP_URL = "https://clamp.api.simpledemo.onap.org:30258" +CLAMP_AUTH = "Basic ZGVtb0BwZW9wbGUub3NhYWYub3JnOmRlbW8xMjM0NTYh" +VES_URL = "http://ves.api.simpledemo.onap.org:30417" +DMAAP_URL = "http://dmaap.api.simpledemo.onap.org:3904" +NBI_URL = "https://nbi.api.simpledemo.onap.org:30274" +NBI_API_VERSION = "/nbi/api/v4" +DCAEMOD_URL = "" +HOLMES_URL = "https://aai.api.sparky.simpledemo.onap.org:30293" +POLICY_URL = "" ## GUI AAI_GUI_URL = "https://aai.api.sparky.simpledemo.onap.org:30220" diff --git a/src/onapsdk/so/catalog_cb_adapter.py b/src/onapsdk/so/catalog_cb_adapter.py new file mode 100644 index 0000000..f8c54e0 --- /dev/null +++ b/src/onapsdk/so/catalog_cb_adapter.py @@ -0,0 +1,52 @@ +# Copyright 2023 Deutsche Telekom AG +# +# 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. +"""SO ecomp module.""" +from abc import ABC +from typing import Any, Dict + +from onapsdk.configuration import settings +from onapsdk.onap_service import OnapService +from onapsdk.so.so_element import SoElement +from onapsdk.utils.headers_creator import headers_so_catelog_db_creator + + +class CatalogDbAdapter(SoElement, ABC): + """SO catalog db adapter service class.""" + + base_url = settings.SO_CATALOG_DB_ADAPTER_URL + headers = headers_so_catelog_db_creator(OnapService.headers) + + @classmethod + def get_service_info(cls, service_model_uuid: str) -> Dict[Any, Any]: + """Get Service VNF and VF details. + + Returns: + The response in a dict format + + """ + url = (f"{cls.base_url}/ecomp/mso/catalog/v2/serviceResources?" + f"serviceModelUuid={service_model_uuid}") + return cls.send_message_json("GET", "Get Service Details", url, headers=cls.headers) + + @classmethod + def get_service_vnf_info(cls, service_model_uuid: str) -> Dict[Any, Any]: + """Get Service VNF and VF details. + + Returns: + The response in a dict format + + """ + url = (f"{cls.base_url}/ecomp/mso/catalog/v2/serviceVnfs?" + f"serviceModelUuid={service_model_uuid}") + return cls.send_message_json("GET", "Get Service Details", url, headers=cls.headers) diff --git a/src/onapsdk/so/so_db_adapter.py b/src/onapsdk/so/so_db_adapter.py index b3694d1..31a93fa 100644 --- a/src/onapsdk/so/so_db_adapter.py +++ b/src/onapsdk/so/so_db_adapter.py @@ -15,6 +15,7 @@ from abc import ABC from dataclasses import dataclass from typing import Dict, Any +import warnings from onapsdk.so.so_element import SoElement from onapsdk.onap_service import OnapService @@ -81,6 +82,7 @@ class SoDbAdapter(SoElement, ABC): headers=headers_so_creator(OnapService.headers) ) return response + @classmethod def get_service_vnf_info(cls, identifier: str) -> Dict[Any, Any]: """Get Service VNF and VF details. @@ -89,6 +91,8 @@ class SoDbAdapter(SoElement, ABC): The response in a dict format """ + warnings.warn("That method is deprecated and it's going to be removed. Please use " + "onapsdk.so.ecomp.Ecomp.get_service_vnf_info instead.") url = f"{cls.base_url}/ecomp/mso/catalog/v2/serviceVnfs?serviceModelUuid={identifier}" headers = headers_so_catelog_db_creator(OnapService.headers) return cls.send_message_json("GET", "Get Service Details", url, headers=headers) -- cgit 1.2.3-korg