Set up NetBox for the first time.
It includes:
- Creating a default site (GEANT)
- Creating device roles (Router)
Source code in gso/cli/netbox.py
| @app.command()
def netbox_initial_setup() -> None:
"""Set up NetBox for the first time.
It includes:
- Creating a default site (GEANT)
- Creating device roles (Router)
"""
typer.echo("Initial setup of NetBox ...")
typer.echo("Connecting to NetBox ...")
nbclient = NetboxClient()
typer.echo("Creating GEANT site ...")
try:
nbclient.create_device_site(DEFAULT_SITE["name"], DEFAULT_SITE["slug"])
typer.echo("Site created successfully.")
except RequestError as e:
typer.echo(f"Error creating site: {e}")
typer.echo("Creating Router device role ...")
try:
nbclient.create_device_role(ROUTER_ROLE["name"], ROUTER_ROLE["slug"])
typer.echo("Device role created successfully.")
except RequestError as e:
typer.echo(f"Error creating device role: {e}")
typer.echo("NetBox initial setup completed successfully.")
|