create vlans

This commit is contained in:
IluaAir
2025-06-30 20:33:10 +03:00
parent 2bdbad096d
commit c30729ec63
2 changed files with 16 additions and 2 deletions

7
app.py
View File

@@ -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)

11
crud.py
View File

@@ -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