summaryrefslogtreecommitdiff
path: root/client.go
diff options
context:
space:
mode:
Diffstat (limited to 'client.go')
-rw-r--r--client.go27
1 files changed, 27 insertions, 0 deletions
diff --git a/client.go b/client.go
index 608f81c..fb71e58 100644
--- a/client.go
+++ b/client.go
@@ -499,6 +499,33 @@ func (cl *Client) ZonedDelete(name string) (zone *dns.Zone, err error) {
return zone, nil
}
+// ZoneRecords fetch the zone records by its name.
+func (cl *Client) ZonedRecords(zone string) (zoneRecords dns.ZoneRecords, err error) {
+ var (
+ logp = "ZonedRecords"
+ params = url.Values{}
+ res = libhttp.EndpointResponse{
+ Data: &zoneRecords,
+ }
+
+ resBody []byte
+ )
+
+ params.Set(paramNameZone, zone)
+
+ _, resBody, err = cl.Get(apiZonedRR, nil, params)
+ if err != nil {
+ return nil, fmt.Errorf("%s: %w", logp, err)
+ }
+
+ err = json.Unmarshal(resBody, &res)
+ if err != nil {
+ return nil, fmt.Errorf("%s: %w", logp, err)
+ }
+
+ return zoneRecords, nil
+}
+
// ZonedRecordAdd add new record to zone file.
func (cl *Client) ZonedRecordAdd(zone string, rreq dns.ResourceRecord) (rres *dns.ResourceRecord, err error) {
var (