aboutsummaryrefslogtreecommitdiffstats
path: root/src/onapsdk
diff options
context:
space:
mode:
authorankitg@aarnanetworks.com <ankitg@aarnanetworks.com>2023-01-16 08:22:04 +0000
committerMichal Jagiello <michal.jagiello@t-mobile.pl>2023-01-16 12:55:40 +0000
commit956bef308145fa3fb2263bd66a94c562a6f466b8 (patch)
tree89885547436aab9b39fcb498f6f6aea4f8dc6aa2 /src/onapsdk
parenta805ee54d2727f3d269d960e3801b4c53551565e (diff)
Archive and delete SDC Resources
Issue-ID: INT-2193 Signed-off-by: Michal Jagiello <michal.jagiello@t-mobile.pl> Change-Id: Ic63628440059bacac03689d61859c6a72f7780df
Diffstat (limited to 'src/onapsdk')
-rw-r--r--src/onapsdk/sdc/sdc_element.py22
-rw-r--r--src/onapsdk/sdc/sdc_resource.py16
2 files changed, 38 insertions, 0 deletions
diff --git a/src/onapsdk/sdc/sdc_element.py b/src/onapsdk/sdc/sdc_element.py
index df513b7..b2d27bd 100644
--- a/src/onapsdk/sdc/sdc_element.py
+++ b/src/onapsdk/sdc/sdc_element.py
@@ -175,6 +175,16 @@ class SdcElement(SdcOnboardable, ABC):
"""
return "{}/{}".format(cls._base_url(), cls._sdc_path())
+ @property
+ def delete_url(self) -> str:
+ """Get an url to delete element.
+
+ Returns:
+ str: Url which can be used to delete SDC element
+
+ """
+ return f"{self._get_all_url}/{self.identifier}"
+
def _copy_object(self, obj: 'SdcElement') -> None:
"""
Copy relevant properties from object.
@@ -225,3 +235,15 @@ class SdcElement(SdcOnboardable, ABC):
"""
raise NotImplementedError("SdcElement is an abstract class")
+
+ def delete(self) -> None:
+ """Delete SDC element.
+
+ Send a request to SDC to delete that element.
+
+ """
+ self.send_message(
+ "DELETE",
+ "Delete SDC element",
+ self.delete_url
+ )
diff --git a/src/onapsdk/sdc/sdc_resource.py b/src/onapsdk/sdc/sdc_resource.py
index 7e7dbb9..29615db 100644
--- a/src/onapsdk/sdc/sdc_resource.py
+++ b/src/onapsdk/sdc/sdc_resource.py
@@ -958,3 +958,19 @@ class SdcResource(SdcOnboardable, ABC): # pylint: disable=too-many-instance-att
return None
msg = f"Can't add resource to {self.origin_type} which is not in DRAFT status"
raise StatusError(msg)
+
+ def archive(self) -> None:
+ """Archive resource."""
+ self.send_message(
+ "POST",
+ f"Archive {self.name} component",
+ f"{self.resource_inputs_url}/archive"
+ )
+
+ def delete(self) -> None:
+ """Delete resource."""
+ self.send_message(
+ "DELETE",
+ f"Delete {self.name} component",
+ f"{self.resource_inputs_url}"
+ )