Port to AWS Go SDK v2 (#6588)

This commit is contained in:
Stephen Kitt
2025-07-03 10:19:21 +01:00
committed by GitHub
parent ae5e03a94d
commit 1449cb660e
6 changed files with 102 additions and 78 deletions

View File

@@ -12,28 +12,28 @@ import (
"github.com/coredns/coredns/plugin/test"
crequest "github.com/coredns/coredns/request"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/request"
"github.com/aws/aws-sdk-go/service/route53"
"github.com/aws/aws-sdk-go/service/route53/route53iface"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/service/route53"
"github.com/aws/aws-sdk-go-v2/service/route53/types"
"github.com/miekg/dns"
)
type fakeRoute53 struct {
route53iface.Route53API
route53Client
}
func (fakeRoute53) ListHostedZonesByNameWithContext(_ aws.Context, input *route53.ListHostedZonesByNameInput, _ ...request.Option) (*route53.ListHostedZonesByNameOutput, error) {
func (fakeRoute53) ListHostedZonesByName(_ context.Context, input *route53.ListHostedZonesByNameInput, optFns ...func(*route53.Options)) (*route53.ListHostedZonesByNameOutput, error) {
return nil, nil
}
func (fakeRoute53) ListResourceRecordSetsPagesWithContext(_ aws.Context, in *route53.ListResourceRecordSetsInput, fn func(*route53.ListResourceRecordSetsOutput, bool) bool, _ ...request.Option) error {
if aws.StringValue(in.HostedZoneId) == "0987654321" {
return errors.New("bad. zone is bad")
func (fakeRoute53) ListResourceRecordSets(_ context.Context, in *route53.ListResourceRecordSetsInput, optFns ...func(*route53.Options)) (*route53.ListResourceRecordSetsOutput, error) {
if aws.ToString(in.HostedZoneId) == "0987654321" {
return nil, errors.New("bad. zone is bad")
}
rrsResponse := map[string][]*route53.ResourceRecordSet{}
rrsResponse := map[string][]types.ResourceRecordSet{}
for _, r := range []struct {
rType, name, value, hostedZoneID string
rType types.RRType
name, value, hostedZoneID string
}{
{"A", "example.org.", "1.2.3.4", "1234567890"},
{"A", "www.example.org", "1.2.3.4", "1234567890"},
@@ -54,11 +54,11 @@ func (fakeRoute53) ListResourceRecordSetsPagesWithContext(_ aws.Context, in *rou
} {
rrs, ok := rrsResponse[r.hostedZoneID]
if !ok {
rrs = make([]*route53.ResourceRecordSet, 0)
rrs = make([]types.ResourceRecordSet, 0)
}
rrs = append(rrs, &route53.ResourceRecordSet{Type: aws.String(r.rType),
rrs = append(rrs, types.ResourceRecordSet{Type: r.rType,
Name: aws.String(r.name),
ResourceRecords: []*route53.ResourceRecord{
ResourceRecords: []types.ResourceRecord{
{
Value: aws.String(r.value),
},
@@ -68,12 +68,10 @@ func (fakeRoute53) ListResourceRecordSetsPagesWithContext(_ aws.Context, in *rou
rrsResponse[r.hostedZoneID] = rrs
}
if ok := fn(&route53.ListResourceRecordSetsOutput{
ResourceRecordSets: rrsResponse[aws.StringValue(in.HostedZoneId)],
}, true); !ok {
return errors.New("paging function return false")
}
return nil
return &route53.ListResourceRecordSetsOutput{
ResourceRecordSets: rrsResponse[aws.ToString(in.HostedZoneId)],
IsTruncated: false,
}, nil
}
func TestRoute53(t *testing.T) {