Skip to content
Snippets Groups Projects

Netbox integration including intial CLI for populating base data and ...

Merged Neda Moeini requested to merge netbox-integration into develop
1 file
+ 4
4
Compare changes
  • Side-by-side
  • Inline
+ 4
4
import typer
import typer
from pynetbox import RequestError
from pynetbox import RequestError
from gso.services.netbox_client import NetBoxClient, create_device_role, create_device_site
from gso.services.netbox_client import NetBoxClient
app: typer.Typer = typer.Typer()
app: typer.Typer = typer.Typer()
@@ -18,21 +18,21 @@ def netbox_initial_setup() -> None:
@@ -18,21 +18,21 @@ def netbox_initial_setup() -> None:
typer.echo("Connecting to NetBox ...")
typer.echo("Connecting to NetBox ...")
try:
try:
nbclient = NetBoxClient().connect()
nbclient = NetBoxClient()
except RequestError as e:
except RequestError as e:
typer.echo(f"Error connecting to NetBox: {e}")
typer.echo(f"Error connecting to NetBox: {e}")
return
return
typer.echo("Creating GEANT site ...")
typer.echo("Creating GEANT site ...")
try:
try:
create_device_site(nbclient, "GEANT", "geant")
nbclient.create_device_site("GEANT", "geant")
typer.echo("Site created successfully.")
typer.echo("Site created successfully.")
except RequestError as e:
except RequestError as e:
typer.echo(f"Error creating site: {e}")
typer.echo(f"Error creating site: {e}")
typer.echo("Creating Router device role ...")
typer.echo("Creating Router device role ...")
try:
try:
create_device_role(nbclient, "router", "router")
nbclient.create_device_role("router", "router")
typer.echo("Device role created successfully.")
typer.echo("Device role created successfully.")
except RequestError as e:
except RequestError as e:
typer.echo(f"Error creating device role: {e}")
typer.echo(f"Error creating device role: {e}")
Loading