From c30729ec632e15df0dbe732b81544b16a13c39a7 Mon Sep 17 00:00:00 2001 From: IluaAir Date: Mon, 30 Jun 2025 20:33:10 +0300 Subject: [PATCH] create vlans --- app.py | 7 +++++++ crud.py | 11 +++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) 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