diff options
author | ankitg@aarnanetworks.com <ankitg@aarnanetworks.com> | 2023-01-16 08:22:04 +0000 |
---|---|---|
committer | Michal Jagiello <michal.jagiello@t-mobile.pl> | 2023-01-16 09:35:34 +0000 |
commit | b7948cee800b2e7b09065148cc326c5a35867550 (patch) | |
tree | 73593b9c5f7e2c640298c9016eb55ed6349e1c62 /src/onapsdk/sdc | |
parent | 1b6a93d93fe6ac41eb221dc59c2171e9bdd578e3 (diff) |
Archive and delete SDC Resources
Issue-ID: INT-2193
Change-Id: I89f7e328dcc514ca632ca2193a80a9994a50cb59
Signed-off-by: Michal Jagiello <michal.jagiello@t-mobile.pl>
Diffstat (limited to 'src/onapsdk/sdc')
-rw-r--r-- | src/onapsdk/sdc/sdc_element.py | 22 | ||||
-rw-r--r-- | src/onapsdk/sdc/sdc_resource.py | 16 |
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..cae0817 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"POST {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}" + ) |