add netbox client
diff --git a/main.go b/main.go
index 0314b7d..7d213f3 100644
--- a/main.go
+++ b/main.go
@@ -1,9 +1,14 @@
package main
import (
+ "context"
"flag"
"io/ioutil"
+ "github.com/digitalocean/go-netbox/netbox"
+ "github.com/digitalocean/go-netbox/netbox/client"
+ "github.com/digitalocean/go-netbox/netbox/client/dcim"
+ "github.com/go-openapi/swag"
"github.com/golang/glog"
"github.com/golang/protobuf/proto"
@@ -11,7 +16,9 @@
)
var (
- flagConfigPath string
+ flagConfigPath string
+ flagNetboxHost string
+ flagNetboxAPIKey string
)
func init() {
@@ -20,6 +27,8 @@
func main() {
flag.StringVar(&flagConfigPath, "config_path", "./topo.pb.text", "Text proto configuration of Topo (per config.proto)")
+ flag.StringVar(&flagNetboxHost, "netbox_host", "nebtox.bgp.wtf", "Netbox host")
+ flag.StringVar(&flagNetboxAPIKey, "netbox_api_key", "", "Netbox API key")
flag.Parse()
data, err := ioutil.ReadFile(flagConfigPath)
@@ -30,4 +39,13 @@
config := confpb.Config{}
proto.UnmarshalText(string(data), &config)
glog.Infof("%+v", config)
+
+ client.DefaultSchemes = []string{"https"}
+ nb := netbox.NewNetboxWithAPIKey(flagNetboxHost, flagNetboxAPIKey)
+ req := &dcim.DcimInterfaceConnectionsListParams{
+ Device: swag.String("bc01n01"),
+ Context: context.Background(),
+ }
+ res, err := nb.Dcim.DcimInterfaceConnectionsList(req, nil)
+ glog.Infof("%+v, %v", res, err)
}