diff --git a/Gopkg.lock b/Gopkg.lock index 2cecb7af..cebc34e8 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -1,6 +1,141 @@ # This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'. +[[projects]] + digest = "1:d1665c44bd5db19aaee18d1b6233c99b0b9a986e8bccb24ef54747547a48027f" + name = "github.com/PuerkitoBio/purell" + packages = ["."] + pruneopts = "UT" + revision = "0bcb03f4b4d0a9428594752bd2a3b9aa0a9d4bd4" + version = "v1.1.0" + +[[projects]] + branch = "master" + digest = "1:c739832d67eb1e9cc478a19cc1a1ccd78df0397bf8a32978b759152e205f644b" + name = "github.com/PuerkitoBio/urlesc" + packages = ["."] + pruneopts = "UT" + revision = "de5bf2ad457846296e2031421a34e2568e304e35" + +[[projects]] + digest = "1:320e7ead93de9fd2b0e59b50fd92a4d50c1f8ab455d96bc2eb083267453a9709" + name = "github.com/asaskevich/govalidator" + packages = ["."] + pruneopts = "UT" + revision = "ccb8e960c48f04d6935e72476ae4a51028f9e22f" + version = "v9" + +[[projects]] + branch = "master" + digest = "1:08aeb20c1d146f9254126139f272865927b6db288145f88f0a3baacc24ddfa24" + name = "github.com/digitalocean/go-netbox" + packages = [ + "netbox", + "netbox/client", + "netbox/client/circuits", + "netbox/client/dcim", + "netbox/client/extras", + "netbox/client/ipam", + "netbox/client/secrets", + "netbox/client/tenancy", + "netbox/client/virtualization", + "netbox/models", + ] + pruneopts = "UT" + revision = "29433ec527e78486ea0a5758817ab672d977f90e" + +[[projects]] + digest = "1:50d6bc4aa3e70803230bb98a4b0e0f1331fefc2eb324e087adf7e986b8da082e" + name = "github.com/go-openapi/analysis" + packages = [ + ".", + "internal", + ] + pruneopts = "UT" + revision = "7c1bef8f6d9fa6148ce0d8a0ebf5339a084a6639" + version = "0.16.0" + +[[projects]] + digest = "1:7a90552bf0ad97b41a4ac036d42aad77956c19b28398188ff7a5cc70b0c8bbf4" + name = "github.com/go-openapi/errors" + packages = ["."] + pruneopts = "UT" + revision = "b2b2befaf267d082d779bcef52d682a47c779517" + version = "0.16.0" + +[[projects]] + digest = "1:2997679181d901ac8aaf4330d11138ecf3974c6d3334995ff36f20cbd597daf8" + name = "github.com/go-openapi/jsonpointer" + packages = ["."] + pruneopts = "UT" + revision = "3a0015ad55fa9873f41605d3e8f28cd279c32ab2" + version = "0.16.0" + +[[projects]] + digest = "1:1ae3f233d75a731b164ca9feafd8ed646cbedf1784095876ed6988ce8aa88b1f" + name = "github.com/go-openapi/jsonreference" + packages = ["."] + pruneopts = "UT" + revision = "3fb327e6747da3043567ee86abd02bb6376b6be2" + version = "0.16.0" + +[[projects]] + digest = "1:ff04019588fc028ac28c3c565ce5316461a4641df197555041ee66cf45d213e3" + name = "github.com/go-openapi/loads" + packages = ["."] + pruneopts = "UT" + revision = "2a2b323bab96e6b1fdee110e57d959322446e9c9" + version = "0.16.0" + +[[projects]] + digest = "1:c25a920b07bc286d3cf03cf32bfdf97c3281ec3638dac77658b6bbbb4c8c61a8" + name = "github.com/go-openapi/runtime" + packages = [ + ".", + "client", + "logger", + "middleware", + "middleware/denco", + "middleware/header", + "middleware/untyped", + "security", + ] + pruneopts = "UT" + revision = "9a3091f566c0811ef4d54b535179bc0fc484a11f" + version = "0.16.0" + +[[projects]] + digest = "1:3e5bdbd2a071c72c778c28fd7b5dfde95cdfbcef412f364377e031877205e418" + name = "github.com/go-openapi/spec" + packages = ["."] + pruneopts = "UT" + revision = "384415f06ee238aae1df5caad877de6ceac3a5c4" + version = "0.16.0" + +[[projects]] + digest = "1:c19e41854708ff52816cff12f30d454135f350a1e4fe6ab62a8be8df75458eb0" + name = "github.com/go-openapi/strfmt" + packages = ["."] + pruneopts = "UT" + revision = "913ee058e387ac83a67e2d9f13acecdcd5769fc6" + version = "0.16.0" + +[[projects]] + digest = "1:c80984d4a9bb79539743aff5af91b595d84f513700150b0ed73c1697d1200d54" + name = "github.com/go-openapi/swag" + packages = ["."] + pruneopts = "UT" + revision = "becd2f08beafcca035645a8a101e0e3e18140458" + version = "0.16.0" + +[[projects]] + digest = "1:b0fa3721f1aeaf3aca9678376b393dffdfdd7415d65db9207ca7bcaf3f893f7f" + name = "github.com/go-openapi/validate" + packages = ["."] + pruneopts = "UT" + revision = "7c1911976134d3a24d0c03127505163c9f16aa3b" + version = "0.16.0" + [[projects]] branch = "master" digest = "1:1ba1d79f2810270045c328ae5d674321db34e3aae468eb4233883b473c5c0467" @@ -25,10 +160,31 @@ [[projects]] branch = "master" - digest = "1:505dbee0833715a72a529bb57c354826ad42a4496fad787fa143699b4de1a6d0" + digest = "1:84a5a2b67486d5d67060ac393aa255d05d24ed5ee41daecd5635ec22657b6492" + name = "github.com/mailru/easyjson" + packages = [ + "buffer", + "jlexer", + "jwriter", + ] + pruneopts = "UT" + revision = "60711f1a8329503b04e1c88535f419d0bb440bff" + +[[projects]] + digest = "1:53bc4cd4914cd7cd52139990d5170d6dc99067ae31c56530621b18b35fc30318" + name = "github.com/mitchellh/mapstructure" + packages = ["."] + pruneopts = "UT" + revision = "3536a929edddb9a5b34bd6861dc4a9647cb459fe" + version = "v1.1.2" + +[[projects]] + branch = "master" + digest = "1:1ae047ded1ddcbe0eca8b0772e3ff2c10e354db4c42c65b96d0386883e63904d" name = "golang.org/x/net" packages = [ "context", + "context/ctxhttp", "http/httpguts", "http2", "http2/hpack", @@ -48,7 +204,7 @@ revision = "4497e2df6f9e69048a54498c7affbbec3294ad47" [[projects]] - digest = "1:a2ab62866c75542dd18d2b069fec854577a20211d7c0ea6ae746072a1dccdd18" + digest = "1:0c56024909189aee3364b7f21a95a27459f718aa7c199a5c111c36cfffd9eaef" name = "golang.org/x/text" packages = [ "collate", @@ -65,6 +221,7 @@ "unicode/cldr", "unicode/norm", "unicode/rangetable", + "width", ] pruneopts = "UT" revision = "f21a4dfb5e38f5895301dc265a8def02365cc3d0" @@ -113,10 +270,31 @@ revision = "8dea3dc473e90c8179e519d91302d0597c0ca1d1" version = "v1.15.0" +[[projects]] + branch = "v2" + digest = "1:2642fd0b6900c77247d61d80cf2eb59a374ef4ffc2d25a1b95b87dc355b2894e" + name = "gopkg.in/mgo.v2" + packages = [ + "bson", + "internal/json", + ] + pruneopts = "UT" + revision = "9856a29383ce1c59f308dd1cf0363a79b5bef6b5" + +[[projects]] + digest = "1:342378ac4dcb378a5448dd723f0784ae519383532f5e70ade24132c4c8693202" + name = "gopkg.in/yaml.v2" + packages = ["."] + pruneopts = "UT" + revision = "5420a8b6744d3b0345ab293f6fcba19c978f1183" + version = "v2.2.1" + [solve-meta] analyzer-name = "dep" analyzer-version = 1 input-imports = [ + "github.com/digitalocean/go-netbox/netbox", + "github.com/digitalocean/go-netbox/netbox/client/dcim", "github.com/golang/glog", "github.com/golang/protobuf/proto", "golang.org/x/net/context", diff --git a/main.go b/main.go index 0314b7d3..7d213f37 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 @@ import ( ) var ( - flagConfigPath string + flagConfigPath string + flagNetboxHost string + flagNetboxAPIKey string ) func init() { @@ -20,6 +27,8 @@ func init() { 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 @@ func main() { 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) }