diff --git a/gso/services/netbox_client.py b/gso/services/netbox_client.py index 178f69969d31a48be95686d2d747f81ea7227ce1..e1c3b84aa88c60985618aa326b14b702693bbfc9 100644 --- a/gso/services/netbox_client.py +++ b/gso/services/netbox_client.py @@ -67,8 +67,7 @@ class NetboxClient: return self.netbox.dcim.devices.get(name=device_name) def get_interfaces_by_device(self, device_name: str, speed: str) -> list[Interfaces]: - """Get all interfaces of a device by name and speed.""" - + """Get all interfaces of a device by name and speed that are free and not allocated.""" device = self.get_device_by_name(device_name) return list( self.netbox.dcim.interfaces.filter(device_id=device.id, enabled=False, mark_connected=False, speed=speed) @@ -84,6 +83,7 @@ class NetboxClient: Returns the new interface object as dict. """ device = self.get_device_by_name(device_name) + return self.netbox.dcim.interfaces.create( name=iface_name, type=type, @@ -228,6 +228,7 @@ class NetboxClient: def allocate_interface(self, device_name: str, iface_name: str) -> Interfaces: """Allocate an interface by marking it as connected.""" + # First get interface from device device = self.get_device_by_name(device_name) interface = self.netbox.dcim.interfaces.get(device_id=device.id, name=iface_name) @@ -248,6 +249,7 @@ class NetboxClient: def free_interface(self, device_name: str, iface_name: str) -> Interfaces: """Free interface by marking disconnect and disable it.""" + # First get interface from device device = self.get_device_by_name(device_name) interface = self.netbox.dcim.interfaces.get(device_id=device.id, name=iface_name)