aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/onapsdk/sdnc/services.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/onapsdk/sdnc/services.py b/src/onapsdk/sdnc/services.py
index 50c9186..d4d8ed6 100644
--- a/src/onapsdk/sdnc/services.py
+++ b/src/onapsdk/sdnc/services.py
@@ -77,6 +77,33 @@ class Service(SdncElement):
service_status=service_status
)
+ @classmethod
+ def get(cls, service_instance_id) -> "Service":
+ """Get service by service-instance-id via GENERIC-RESOURCES-API.
+
+ Return:
+ Service
+ """
+ service_iterable = cls.send_message_json(
+ "GET",
+ "Get SDNC services",
+ f"{cls.base_url}/rests/data/"
+ f"GENERIC-RESOURCE-API:services/service={service_instance_id}"
+ )
+ service = service_iterable["GENERIC-RESOURCE-API:service"][0]
+ try:
+ service_data = service["service-data"]
+ except KeyError:
+ service_data = {}
+ try:
+ service_status = service["service-status"]
+ except KeyError:
+ service_status = {}
+ return Service(service_instance_id=service_instance_id,
+ service_data=service_data,
+ service_status=service_status
+ )
+
def create(self) -> None:
"""Create service using GENERIC-RESOURCES-API."""
service_data = self.service_data if self.service_data is not None else ""