diff --git a/annet/adapters/netbox/v37/storage.py b/annet/adapters/netbox/v37/storage.py index 1f9ab74a..0a13a97c 100644 --- a/annet/adapters/netbox/v37/storage.py +++ b/annet/adapters/netbox/v37/storage.py @@ -1,3 +1,4 @@ +import os import ssl from adaptix import P @@ -9,6 +10,8 @@ from annet.storage import Storage from .models import IpAddressV37, NetboxDeviceV37, InterfaceV37, PrefixV37 +interfaces_page_size = int(os.getenv("NETBOX_INTERFACES_PAGE_SIZE", 100)) + class NetboxV37Adapter(NetboxAdapter[NetboxDeviceV37, InterfaceV37, IpAddressV37, PrefixV37]): def __init__( @@ -68,7 +71,7 @@ def get_device(self, device_id: int) -> NetboxDeviceV37: return self.convert_device(self.netbox.dcim_device(device_id)) def list_interfaces_by_devices(self, device_ids: list[int]) -> list[InterfaceV37]: - return self.convert_interfaces(self.netbox.dcim_all_interfaces(device_id=device_ids).results) + return self.convert_interfaces(self.netbox.dcim_all_interfaces(device_id=device_ids, page_size=interfaces_page_size).results) def list_interfaces(self, ids: list[int]) -> list[InterfaceV37]: return self.convert_interfaces(self.netbox.dcim_all_interfaces(id=ids).results)