Skip to content

Commit d10a7b1

Browse files
authored
Merge pull request #12 from alexpovel/main
Add support for libdns 1.0.0
2 parents 78ed2ec + a7377ff commit d10a7b1

File tree

9 files changed

+320
-1019
lines changed

9 files changed

+320
-1019
lines changed

client-delete.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ func (p *Provider) deleteCloudDNSRecord(ctx context.Context, zone, name, recordT
3333
rrs := dns.ResourceRecordSet{
3434
Name: fullName,
3535
Rrdatas: make([]string, 0),
36-
Ttl: int64(updatedRecordList[0].TTL / time.Second),
36+
Ttl: int64(updatedRecordList[0].RR().TTL / time.Second),
3737
Type: recordType,
3838
}
3939
rrs.Rrdatas = updatedRecordList.prepValuesForCloudDNS()

client-get.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package googleclouddns
22

33
import (
44
"context"
5+
"fmt"
56

67
"github.com/libdns/libdns"
78
"google.golang.org/api/dns/v1"
@@ -22,7 +23,11 @@ func (p *Provider) getCloudDNSRecords(ctx context.Context, zone string) ([]libdn
2223
records := make([]libdns.Record, 0)
2324
if err := rrsReq.Pages(ctx, func(page *dns.ResourceRecordSetsListResponse) error {
2425
for _, googleRecord := range page.Rrsets {
25-
records = append(records, convertToLibDNS(googleRecord, zone)...)
26+
convertedRecords, err := convertToLibDNS(googleRecord, zone)
27+
if err != nil {
28+
return fmt.Errorf("error converting to libdns records: %w", err)
29+
}
30+
records = append(records, convertedRecords...)
2631
}
2732
return nil
2833
}); err != nil {
@@ -46,5 +51,5 @@ func (p *Provider) getCloudDNSRecord(ctx context.Context, zone, name, recordType
4651
if err != nil {
4752
return nil, err
4853
}
49-
return convertToLibDNS(rrs, zone), nil
54+
return convertToLibDNS(rrs, zone)
5055
}

client-post.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,14 @@ func (p *Provider) postCloudDNSRecord(ctx context.Context, zone string, recordsT
2222
if len(recordsToSend) == 0 {
2323
return nil, fmt.Errorf("no records available to add to zone %s", zone)
2424
}
25-
name := recordsToSend[0].Name
25+
recordToSend := recordsToSend[0].RR()
26+
name := recordToSend.Name
2627
fullName := libdns.AbsoluteName(name, zone)
2728
rrs := dns.ResourceRecordSet{
2829
Name: fullName,
2930
Rrdatas: make([]string, 0),
30-
Ttl: int64(recordsToSend[0].TTL / time.Second),
31-
Type: recordsToSend[0].Type,
31+
Ttl: int64(recordToSend.TTL / time.Second),
32+
Type: recordToSend.Type,
3233
}
3334
rrs.Rrdatas = recordsToSend.prepValuesForCloudDNS()
3435
googleRecord, err := p.service.ResourceRecordSets.Create(p.Project, gcdZone, &rrs).Context(ctx).Do()
@@ -42,5 +43,5 @@ func (p *Provider) postCloudDNSRecord(ctx context.Context, zone string, recordsT
4243
return nil, err
4344
}
4445
}
45-
return convertToLibDNS(googleRecord, zone), nil
46+
return convertToLibDNS(googleRecord, zone)
4647
}

go.mod

Lines changed: 33 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,41 @@
11
module github.com/libdns/googleclouddns
22

3-
go 1.15
3+
go 1.23.0
4+
5+
toolchain go1.23.3
46

57
require (
6-
cloud.google.com/go v0.104.0
7-
github.com/libdns/libdns v0.2.1
8-
golang.org/x/oauth2 v0.1.0
9-
google.golang.org/api v0.100.0
8+
cloud.google.com/go v0.121.0
9+
github.com/libdns/libdns v1.0.0
10+
golang.org/x/oauth2 v0.30.0
11+
google.golang.org/api v0.233.0
1012
)
1113

1214
require (
13-
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
14-
github.com/google/martian/v3 v3.3.2 // indirect
15-
google.golang.org/genproto v0.0.0-20221018160656-63c7b68cfc55 // indirect
15+
cloud.google.com/go/auth v0.16.1 // indirect
16+
cloud.google.com/go/auth/oauth2adapt v0.2.8 // indirect
17+
cloud.google.com/go/compute/metadata v0.6.0 // indirect
18+
cloud.google.com/go/iam v1.5.2 // indirect
19+
github.com/felixge/httpsnoop v1.0.4 // indirect
20+
github.com/go-logr/logr v1.4.2 // indirect
21+
github.com/go-logr/stdr v1.2.2 // indirect
22+
github.com/google/martian/v3 v3.3.3 // indirect
23+
github.com/google/s2a-go v0.1.9 // indirect
24+
github.com/google/uuid v1.6.0 // indirect
25+
github.com/googleapis/enterprise-certificate-proxy v0.3.6 // indirect
26+
github.com/googleapis/gax-go/v2 v2.14.1 // indirect
27+
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
28+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0 // indirect
29+
go.opentelemetry.io/otel v1.35.0 // indirect
30+
go.opentelemetry.io/otel/metric v1.35.0 // indirect
31+
go.opentelemetry.io/otel/trace v1.35.0 // indirect
32+
golang.org/x/crypto v0.38.0 // indirect
33+
golang.org/x/net v0.40.0 // indirect
34+
golang.org/x/sys v0.33.0 // indirect
35+
golang.org/x/text v0.25.0 // indirect
36+
google.golang.org/genproto v0.0.0-20250512202823-5a2f75b736a9 // indirect
37+
google.golang.org/genproto/googleapis/api v0.0.0-20250505200425-f936aa4a68b2 // indirect
38+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250505200425-f936aa4a68b2 // indirect
39+
google.golang.org/grpc v1.72.0 // indirect
40+
google.golang.org/protobuf v1.36.6 // indirect
1641
)

go.sum

Lines changed: 115 additions & 845 deletions
Large diffs are not rendered by default.

provider.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,8 @@ func (p *Provider) DeleteRecords(ctx context.Context, zone string, records []lib
117117

118118
// Interface guards
119119
var (
120-
_ libdns.RecordGetter = (*Provider)(nil)
121-
_ libdns.RecordAppender = (*Provider)(nil)
122-
_ libdns.RecordSetter = (*Provider)(nil)
123-
_ libdns.RecordDeleter = (*Provider)(nil)
120+
_ libdns.RecordGetter = new(Provider)
121+
_ libdns.RecordAppender = new(Provider)
122+
_ libdns.RecordSetter = new(Provider)
123+
_ libdns.RecordDeleter = new(Provider)
124124
)

0 commit comments

Comments
 (0)