From 94aa97d56b7e8a6930c248abbd0cc50785ececcc Mon Sep 17 00:00:00 2001 From: Ubuntu <ubuntu@ubuntu-2204.linuxvmimages.local> Date: Wed, 13 Sep 2023 11:30:28 -0400 Subject: [PATCH] NAT-243: Added enabled and mark_connected paraters to interface --- gso/services/netbox_client.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/gso/services/netbox_client.py b/gso/services/netbox_client.py index 48232214..601787e1 100644 --- a/gso/services/netbox_client.py +++ b/gso/services/netbox_client.py @@ -80,7 +80,14 @@ def get_device_by_name(nbclient, device_name): # get all interfaces for a device def get_interfaces_by_device(nbclient, device_name): device = get_device_by_name(nbclient, device_name) - return list(nbclient.dcim.interfaces.filter(device_id=device.id)) + + if device is None: + raise ValueError(f"Device: {device_name} not found") + + return list(nbclient.dcim.interfaces.filter(device_id=device.id, + enabled=False, + mark_connected=False, + )) # Create a interface @@ -97,8 +104,14 @@ def create_interface(nbclient, Returns the new interface object as dict. """ device = get_device_by_name(nbclient, device_name) + + if device is None: + raise ValueError(f"Device: {device_name} not found") + new_iface = nbclient.dcim.interfaces.create(name=iface_name, type=type, + enabled=False, + mark_connected=False, device=device.id) return dict(new_iface) @@ -159,7 +172,7 @@ def create_device(nbclient, # Get site id device_site = nbclient.dcim.sites.get(name=site) - + # Create new device new_device = nbclient.dcim.devices.create(name=fqdn, device_type=device_type.id, -- GitLab