Files
restitux 05c3b0ff0b
Build and Test / build-test-publish-coverage (push) Failing after 1m36s
added support for views
2025-02-13 21:28:47 -07:00

39 lines
816 B
Go

package netbox
import (
"net/url"
"strconv"
)
type Zone struct {
DefaultTTL uint32 `json:"default_ttl"`
ID int `json:"id"`
Name string `json:"name"`
NameServers []SOAMName `json:"nameservers"`
View struct {
ID int `json:"id"`
Name string `json:"name"`
}
}
type SOAMName struct {
Name string `json:"name"`
}
func urlZones(netboxurl *url.URL) *url.URL {
return netboxurl.JoinPath("zones", "/")
}
func urlZoneID(netboxurl *url.URL, id int) *url.URL {
return netboxurl.JoinPath("zones", "/", strconv.Itoa(id), "/")
}
func GetZones(requestClient *APIRequestClient) ([]Zone, error) {
requestUrl := urlZones(requestClient.NetboxURL)
zones, err := getMany[Zone](requestClient, requestUrl.String())
if err != nil {
return nil, err
}
return zones, nil
}