create vlans
This commit is contained in:
7
app.py
7
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)
|
||||||
|
|
||||||
|
|||||||
11
crud.py
11
crud.py
@@ -12,14 +12,14 @@ logging.basicConfig()
|
|||||||
log = logging.getLogger()
|
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)
|
devices = netbox.dcim.devices.filter(**filters)
|
||||||
device_list = [item.name for item in devices]
|
device_list = [item.name for item in devices]
|
||||||
devices = netbox.dcim.devices.filter(**filters)
|
devices = netbox.dcim.devices.filter(**filters)
|
||||||
if not os.path.exists(f'devices_{filters.get('tenant')}.json'):
|
if not os.path.exists(f'devices_{filters.get('tenant')}.json'):
|
||||||
with open(f'devices_{filters.get('tenant')}.json', 'w') as file:
|
with open(f'devices_{filters.get('tenant')}.json', 'w') as file:
|
||||||
json.dump(device_list, file, ensure_ascii=False, indent=3)
|
json.dump(device_list, file, ensure_ascii=False, indent=3)
|
||||||
return devices
|
return devices, device_list
|
||||||
|
|
||||||
|
|
||||||
def create_interfaces(devices: 'RecordSet', device_list: 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)
|
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
|
||||||
|
|||||||
Reference in New Issue
Block a user