mirror of
https://github.com/coredns/coredns.git
synced 2025-10-31 18:23:13 -04:00
fix record missing for zone with many of records (#4328)
* fix record missing for zone with many of records * Update debug log * Update debug mesg * update test_clouddns
This commit is contained in:
@@ -1,10 +1,14 @@
|
||||
package clouddns
|
||||
|
||||
import gcp "google.golang.org/api/dns/v1"
|
||||
import (
|
||||
"context"
|
||||
|
||||
gcp "google.golang.org/api/dns/v1"
|
||||
)
|
||||
|
||||
type gcpDNS interface {
|
||||
zoneExists(projectName, hostedZoneName string) error
|
||||
listRRSets(projectName, hostedZoneName string) (*gcp.ResourceRecordSetsListResponse, error)
|
||||
listRRSets(ctx context.Context, projectName, hostedZoneName string) (*gcp.ResourceRecordSetsListResponse, error)
|
||||
}
|
||||
|
||||
type gcpClient struct {
|
||||
@@ -23,10 +27,16 @@ func (c gcpClient) zoneExists(projectName, hostedZoneName string) error {
|
||||
|
||||
// listRRSets is a wrapper method around `gcp.Service.ResourceRecordSets.List`
|
||||
// it fetches and returns the record sets for a hosted zone.
|
||||
func (c gcpClient) listRRSets(projectName, hostedZoneName string) (*gcp.ResourceRecordSetsListResponse, error) {
|
||||
rr, err := c.ResourceRecordSets.List(projectName, hostedZoneName).Do()
|
||||
if err != nil {
|
||||
func (c gcpClient) listRRSets(ctx context.Context, projectName, hostedZoneName string) (*gcp.ResourceRecordSetsListResponse, error) {
|
||||
req := c.ResourceRecordSets.List(projectName, hostedZoneName)
|
||||
var rs []*gcp.ResourceRecordSet
|
||||
if err := req.Pages(ctx, func(page *gcp.ResourceRecordSetsListResponse) error {
|
||||
for _, rr := range page.Rrsets {
|
||||
rs = append(rs, rr)
|
||||
}
|
||||
return nil
|
||||
}); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return rr, nil
|
||||
return &gcp.ResourceRecordSetsListResponse{Rrsets: rs}, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user