Skip to content

Commit 4333b31

Browse files
authored
Merge pull request kubernetes-sigs#4640 from mjlshen/aws-sdk-go-v2
Migrate to aws-sdk-go-v2
2 parents b029389 + 0de6f8a commit 4333b31

File tree

13 files changed

+1223
-1130
lines changed

13 files changed

+1223
-1130
lines changed

go.mod

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,14 @@ require (
1616
github.com/akamai/AkamaiOPEN-edgegrid-golang v1.2.2
1717
github.com/alecthomas/kingpin/v2 v2.4.0
1818
github.com/aliyun/alibaba-cloud-sdk-go v1.63.0
19-
github.com/aws/aws-sdk-go v1.55.5
19+
github.com/aws/aws-sdk-go-v2 v1.30.3
20+
github.com/aws/aws-sdk-go-v2/config v1.27.27
21+
github.com/aws/aws-sdk-go-v2/credentials v1.17.27
22+
github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue v1.14.10
23+
github.com/aws/aws-sdk-go-v2/service/dynamodb v1.34.4
24+
github.com/aws/aws-sdk-go-v2/service/route53 v1.42.3
25+
github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.31.3
26+
github.com/aws/aws-sdk-go-v2/service/sts v1.30.3
2027
github.com/bodgit/tsig v1.2.2
2128
github.com/cenkalti/backoff/v4 v4.3.0
2229
github.com/civo/civogo v0.3.73
@@ -85,6 +92,17 @@ require (
8592
github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 // indirect
8693
github.com/alexbrainman/sspi v0.0.0-20180613141037-e580b900e9f5 // indirect
8794
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
95+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.11 // indirect
96+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.15 // indirect
97+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.15 // indirect
98+
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect
99+
github.com/aws/aws-sdk-go-v2/service/dynamodbstreams v1.22.3 // indirect
100+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.3 // indirect
101+
github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.9.16 // indirect
102+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.17 // indirect
103+
github.com/aws/aws-sdk-go-v2/service/sso v1.22.4 // indirect
104+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.4 // indirect
105+
github.com/aws/smithy-go v1.20.3 // indirect
88106
github.com/benbjohnson/clock v1.3.0 // indirect
89107
github.com/beorn7/perks v1.0.1 // indirect
90108
github.com/cespare/xxhash/v2 v2.3.0 // indirect

go.sum

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,9 +116,45 @@ github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:W
116116
github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU=
117117
github.com/aws/aws-sdk-go v1.15.11/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0=
118118
github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
119-
github.com/aws/aws-sdk-go v1.55.5 h1:KKUZBfBoyqy5d3swXyiC7Q76ic40rYcbqH7qjh59kzU=
120-
github.com/aws/aws-sdk-go v1.55.5/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU=
121119
github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g=
120+
github.com/aws/aws-sdk-go-v2 v1.30.3 h1:jUeBtG0Ih+ZIFH0F4UkmL9w3cSpaMv9tYYDbzILP8dY=
121+
github.com/aws/aws-sdk-go-v2 v1.30.3/go.mod h1:nIQjQVp5sfpQcTc9mPSr1B0PaWK5ByX9MOoDadSN4lc=
122+
github.com/aws/aws-sdk-go-v2/config v1.27.27 h1:HdqgGt1OAP0HkEDDShEl0oSYa9ZZBSOmKpdpsDMdO90=
123+
github.com/aws/aws-sdk-go-v2/config v1.27.27/go.mod h1:MVYamCg76dFNINkZFu4n4RjDixhVr51HLj4ErWzrVwg=
124+
github.com/aws/aws-sdk-go-v2/credentials v1.17.27 h1:2raNba6gr2IfA0eqqiP2XiQ0UVOpGPgDSi0I9iAP+UI=
125+
github.com/aws/aws-sdk-go-v2/credentials v1.17.27/go.mod h1:gniiwbGahQByxan6YjQUMcW4Aov6bLC3m+evgcoN4r4=
126+
github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue v1.14.10 h1:orAIBscNu5aIjDOnKIrjO+IUFPMLKj3Lp0bPf4chiPc=
127+
github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue v1.14.10/go.mod h1:GNjJ8daGhv10hmQYCnmkV8HuY6xXOXV4vzBssSjEIlU=
128+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.11 h1:KreluoV8FZDEtI6Co2xuNk/UqI9iwMrOx/87PBNIKqw=
129+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.11/go.mod h1:SeSUYBLsMYFoRvHE0Tjvn7kbxaUhl75CJi1sbfhMxkU=
130+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.15 h1:SoNJ4RlFEQEbtDcCEt+QG56MY4fm4W8rYirAmq+/DdU=
131+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.15/go.mod h1:U9ke74k1n2bf+RIgoX1SXFed1HLs51OgUSs+Ph0KJP8=
132+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.15 h1:C6WHdGnTDIYETAm5iErQUiVNsclNx9qbJVPIt03B6bI=
133+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.15/go.mod h1:ZQLZqhcu+JhSrA9/NXRm8SkDvsycE+JkV3WGY41e+IM=
134+
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 h1:hT8rVHwugYE2lEfdFE0QWVo81lF7jMrYJVDWI+f+VxU=
135+
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0/go.mod h1:8tu/lYfQfFe6IGnaOdrpVgEL2IrrDOf6/m9RQum4NkY=
136+
github.com/aws/aws-sdk-go-v2/service/dynamodb v1.34.4 h1:utG3S4T+X7nONPIpRoi1tVcQdAdJxntiVS2yolPJyXc=
137+
github.com/aws/aws-sdk-go-v2/service/dynamodb v1.34.4/go.mod h1:q9vzW3Xr1KEXa8n4waHiFt1PrppNDlMymlYP+xpsFbY=
138+
github.com/aws/aws-sdk-go-v2/service/dynamodbstreams v1.22.3 h1:r27/FnxLPixKBRIlslsvhqscBuMK8uysCYG9Kfgm098=
139+
github.com/aws/aws-sdk-go-v2/service/dynamodbstreams v1.22.3/go.mod h1:jqOFyN+QSWSoQC+ppyc4weiO8iNQXbzRbxDjQ1ayYd4=
140+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.3 h1:dT3MqvGhSoaIhRseqw2I0yH81l7wiR2vjs57O51EAm8=
141+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.3/go.mod h1:GlAeCkHwugxdHaueRr4nhPuY+WW+gR8UjlcqzPr1SPI=
142+
github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.9.16 h1:lhAX5f7KpgwyieXjbDnRTjPEUI0l3emSRyxXj1PXP8w=
143+
github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.9.16/go.mod h1:AblAlCwvi7Q/SFowvckgN+8M3uFPlopSYeLlbNDArhA=
144+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.17 h1:HGErhhrxZlQ044RiM+WdoZxp0p+EGM62y3L6pwA4olE=
145+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.17/go.mod h1:RkZEx4l0EHYDJpWppMJ3nD9wZJAa8/0lq9aVC+r2UII=
146+
github.com/aws/aws-sdk-go-v2/service/route53 v1.42.3 h1:MmLCRqP4U4Cw9gJ4bNrCG0mWqEtBlmAVleyelcHARMU=
147+
github.com/aws/aws-sdk-go-v2/service/route53 v1.42.3/go.mod h1:AMPjK2YnRh0YgOID3PqhJA1BRNfXDfGOnSsKHtAe8yA=
148+
github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.31.3 h1:EthA93BNgTnk36FoI9DCKtv4S0m63WzdGDYlBp/CvHQ=
149+
github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.31.3/go.mod h1:4xh/h0pevPhBkA4b2iYosZaqrThccxFREQxiGuZpJlc=
150+
github.com/aws/aws-sdk-go-v2/service/sso v1.22.4 h1:BXx0ZIxvrJdSgSvKTZ+yRBeSqqgPM89VPlulEcl37tM=
151+
github.com/aws/aws-sdk-go-v2/service/sso v1.22.4/go.mod h1:ooyCOXjvJEsUw7x+ZDHeISPMhtwI3ZCB7ggFMcFfWLU=
152+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.4 h1:yiwVzJW2ZxZTurVbYWA7QOrAaCYQR72t0wrSBfoesUE=
153+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.4/go.mod h1:0oxfLkpz3rQ/CHlx5hB7H69YUpFiI1tql6Q6Ne+1bCw=
154+
github.com/aws/aws-sdk-go-v2/service/sts v1.30.3 h1:ZsDKRLXGWHk8WdtyYMoGNO7bTudrvuKpDKgMVRlepGE=
155+
github.com/aws/aws-sdk-go-v2/service/sts v1.30.3/go.mod h1:zwySh8fpFyXp9yOr/KVzxOl8SRqgf/IDw5aUt9UKFcQ=
156+
github.com/aws/smithy-go v1.20.3 h1:ryHwveWzPV5BIof6fyDvor6V3iUL7nTfiTKXHiW05nE=
157+
github.com/aws/smithy-go v1.20.3/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E=
122158
github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A=
123159
github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
124160
github.com/beorn7/perks v0.0.0-20160804104726-4c0e84591b9a/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=

main.go

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,9 @@ import (
2525
"syscall"
2626
"time"
2727

28-
awsSDK "github.com/aws/aws-sdk-go/aws"
29-
"github.com/aws/aws-sdk-go/service/dynamodb"
30-
"github.com/aws/aws-sdk-go/service/route53"
31-
sd "github.com/aws/aws-sdk-go/service/servicediscovery"
28+
"github.com/aws/aws-sdk-go-v2/service/dynamodb"
29+
"github.com/aws/aws-sdk-go-v2/service/route53"
30+
sd "github.com/aws/aws-sdk-go-v2/service/servicediscovery"
3231
"github.com/go-logr/logr"
3332
"github.com/prometheus/client_golang/prometheus/promhttp"
3433
log "github.com/sirupsen/logrus"
@@ -206,10 +205,10 @@ func main() {
206205
case "alibabacloud":
207206
p, err = alibabacloud.NewAlibabaCloudProvider(cfg.AlibabaCloudConfigFile, domainFilter, zoneIDFilter, cfg.AlibabaCloudZoneType, cfg.DryRun)
208207
case "aws":
209-
sessions := aws.CreateSessions(cfg)
210-
clients := make(map[string]aws.Route53API, len(sessions))
211-
for profile, session := range sessions {
212-
clients[profile] = route53.New(session)
208+
configs := aws.CreateV2Configs(cfg)
209+
clients := make(map[string]aws.Route53API, len(configs))
210+
for profile, config := range configs {
211+
clients[profile] = route53.NewFromConfig(config)
213212
}
214213

215214
p, err = aws.NewAWSProvider(
@@ -236,7 +235,7 @@ func main() {
236235
log.Infof("Registry \"%s\" cannot be used with AWS Cloud Map. Switching to \"aws-sd\".", cfg.Registry)
237236
cfg.Registry = "aws-sd"
238237
}
239-
p, err = awssd.NewAWSSDProvider(domainFilter, cfg.AWSZoneType, cfg.DryRun, cfg.AWSSDServiceCleanup, cfg.TXTOwnerID, sd.New(aws.CreateDefaultSession(cfg)))
238+
p, err = awssd.NewAWSSDProvider(domainFilter, cfg.AWSZoneType, cfg.DryRun, cfg.AWSSDServiceCleanup, cfg.TXTOwnerID, sd.NewFromConfig(aws.CreateDefaultV2Config(cfg)))
240239
case "azure-dns", "azure":
241240
p, err = azure.NewAzureProvider(cfg.AzureConfigFile, domainFilter, zoneNameFilter, zoneIDFilter, cfg.AzureSubscriptionID, cfg.AzureResourceGroup, cfg.AzureUserAssignedIdentityClientID, cfg.AzureActiveDirectoryAuthorityHost, cfg.DryRun)
242241
case "azure-private-dns":
@@ -383,11 +382,15 @@ func main() {
383382
var r registry.Registry
384383
switch cfg.Registry {
385384
case "dynamodb":
386-
config := awsSDK.NewConfig()
385+
var dynamodbOpts []func(*dynamodb.Options)
387386
if cfg.AWSDynamoDBRegion != "" {
388-
config = config.WithRegion(cfg.AWSDynamoDBRegion)
387+
dynamodbOpts = []func(*dynamodb.Options){
388+
func(opts *dynamodb.Options) {
389+
opts.Region = cfg.AWSDynamoDBRegion
390+
},
391+
}
389392
}
390-
r, err = registry.NewDynamoDBRegistry(p, cfg.TXTOwnerID, dynamodb.New(aws.CreateDefaultSession(cfg), config), cfg.AWSDynamoDBTable, cfg.TXTPrefix, cfg.TXTSuffix, cfg.TXTWildcardReplacement, cfg.ManagedDNSRecordTypes, cfg.ExcludeDNSRecordTypes, []byte(cfg.TXTEncryptAESKey), cfg.TXTCacheInterval)
393+
r, err = registry.NewDynamoDBRegistry(p, cfg.TXTOwnerID, dynamodb.NewFromConfig(aws.CreateDefaultV2Config(cfg), dynamodbOpts...), cfg.AWSDynamoDBTable, cfg.TXTPrefix, cfg.TXTSuffix, cfg.TXTWildcardReplacement, cfg.ManagedDNSRecordTypes, cfg.ExcludeDNSRecordTypes, []byte(cfg.TXTEncryptAESKey), cfg.TXTCacheInterval)
391394
case "noop":
392395
r, err = registry.NewNoopRegistry(p)
393396
case "txt":

0 commit comments

Comments
 (0)