From a559646333fe34e46605001b3715b125f3fff0e6 Mon Sep 17 00:00:00 2001 From: Neda Moeini <neda.moeini@geant.org> Date: Thu, 4 Apr 2024 11:56:56 +0200 Subject: [PATCH] Updated delete Netbox device functionality to delete the device if it exists and don't raise AttributeError. --- gso/services/netbox_client.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gso/services/netbox_client.py b/gso/services/netbox_client.py index 74f56982..3f49a095 100644 --- a/gso/services/netbox_client.py +++ b/gso/services/netbox_client.py @@ -125,9 +125,8 @@ class NetboxClient: def delete_interface(self, device_name: str, iface_name: str) -> None: """Delete an interface from a device by name.""" interface = self.get_interface_by_name_and_device(iface_name, device_name) - if interface: + if interface is not None: return interface.delete() - return None def create_device_type(self, manufacturer: str, model: str, slug: str) -> DeviceTypes: """Create a new device type in Netbox.""" @@ -199,8 +198,11 @@ class NetboxClient: return device def delete_device(self, device_name: str) -> None: - """Delete device by name.""" - self.netbox.dcim.devices.get(name=device_name).delete() + """Delete device by name if exists.""" + try: + self.netbox.dcim.devices.get(name=device_name).delete() + except AttributeError: + pass def attach_interface_to_lag( self, -- GitLab