diff --git a/app.py b/app.py index e69de29..8a0baa4 100644 --- a/app.py +++ b/app.py @@ -0,0 +1,7 @@ +from crud import get_devices_filtered, create_vlans +from type import vimpelcomSWType + +devices_vimpelcom = get_devices_filtered(vimpelcomSWType) + +vlans_vimpelcom = create_vlans(*devices_vimpelcom) + diff --git a/crud.py b/crud.py index 070e637..3c35350 100644 --- a/crud.py +++ b/crud.py @@ -12,14 +12,14 @@ logging.basicConfig() log = logging.getLogger() -def get_devices_filtered(filters: dict) -> 'RecordSet': +def get_devices_filtered(filters: dict) -> tuple['RecordSet', list]: devices = netbox.dcim.devices.filter(**filters) device_list = [item.name for item in devices] devices = netbox.dcim.devices.filter(**filters) if not os.path.exists(f'devices_{filters.get('tenant')}.json'): with open(f'devices_{filters.get('tenant')}.json', 'w') as file: json.dump(device_list, file, ensure_ascii=False, indent=3) - return devices + return devices, device_list def create_interfaces(devices: 'RecordSet', device_list: list): @@ -75,3 +75,10 @@ def create_interfaces(devices: 'RecordSet', device_list: list): json.dump(device_list, file, ensure_ascii=False, indent=3) +def create_vlans(devices: 'RecordSet', device_list: list): + for device in devices: + print(device.name.replace("(1)", "")) + oxidized_device = oxi.node(device.name.replace("(1)", "")) + print(oxidized_device.config.l3interfaces()) + print(oxidized_device.config.vlans()) + break