Skip to content

Commit 8dd2a5a

Browse files
author
Senthil Kumaran
authored
Update AWS VPC CNI to SDK V2 Update - master branch (#3070)
* Update AWS SDK to Version 2 and Remove V1 Dependency. Fixes #3116
1 parent 2aea0fd commit 8dd2a5a

File tree

74 files changed

+2262
-1635
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+2262
-1635
lines changed

.github/workflows/deps.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ on:
44
branches:
55
- "master"
66
- "release*"
7+
- "sdkv2"
78
permissions:
89
contents: read
910
jobs:

.github/workflows/integration-tests.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ on:
55
branches:
66
- "master"
77
- "release*"
8+
- "sdk*"
89

910
permissions:
1011
id-token: write

.github/workflows/pr-automated-tests.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ on:
44
branches:
55
- "master"
66
- "release*"
7+
- "sdkv2*"
78
permissions:
89
contents: read
910
jobs:

cmd/cni-metrics-helper/metrics/metrics.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ import (
1919
"context"
2020
"fmt"
2121

22-
"github.com/aws/aws-sdk-go/aws"
23-
"github.com/aws/aws-sdk-go/service/cloudwatch"
22+
"github.com/aws/aws-sdk-go-v2/aws"
23+
cloudwatchtypes "github.com/aws/aws-sdk-go-v2/service/cloudwatch/types"
2424
dto "github.com/prometheus/client_model/go"
2525
"github.com/prometheus/common/expfmt"
2626
"k8s.io/client-go/kubernetes"
@@ -288,9 +288,9 @@ func produceHistogram(act metricsAction, cw publisher.Publisher) {
288288

289289
prevUpperBound = *bucket.UpperBound
290290
if *bucket.CumulativeCount != 0 {
291-
dataPoint := &cloudwatch.MetricDatum{
291+
dataPoint := cloudwatchtypes.MetricDatum{
292292
MetricName: aws.String(act.cwMetricName),
293-
StatisticValues: &cloudwatch.StatisticSet{
293+
StatisticValues: &cloudwatchtypes.StatisticSet{
294294
Maximum: aws.Float64(mid),
295295
Minimum: aws.Float64(mid),
296296
SampleCount: aws.Float64(*bucket.CumulativeCount),
@@ -322,23 +322,23 @@ func produceCloudWatchMetrics(t metricsTarget, families map[string]*dto.MetricFa
322322
for _, action := range convertMetrics.actions {
323323
switch metricType {
324324
case dto.MetricType_COUNTER:
325-
dataPoint := &cloudwatch.MetricDatum{
325+
dataPoint := cloudwatchtypes.MetricDatum{
326326
MetricName: aws.String(action.cwMetricName),
327-
Unit: aws.String(cloudwatch.StandardUnitCount),
327+
Unit: cloudwatchtypes.StandardUnitCount,
328328
Value: aws.Float64(action.data.curSingleDataPoint),
329329
}
330330
cw.Publish(dataPoint)
331331
case dto.MetricType_GAUGE:
332-
dataPoint := &cloudwatch.MetricDatum{
332+
dataPoint := cloudwatchtypes.MetricDatum{
333333
MetricName: aws.String(action.cwMetricName),
334-
Unit: aws.String(cloudwatch.StandardUnitCount),
334+
Unit: cloudwatchtypes.StandardUnitCount,
335335
Value: aws.Float64(action.data.curSingleDataPoint),
336336
}
337337
cw.Publish(dataPoint)
338338
case dto.MetricType_SUMMARY:
339-
dataPoint := &cloudwatch.MetricDatum{
339+
dataPoint := cloudwatchtypes.MetricDatum{
340340
MetricName: aws.String(action.cwMetricName),
341-
Unit: aws.String(cloudwatch.StandardUnitCount),
341+
Unit: cloudwatchtypes.StandardUnitCount,
342342
Value: aws.Float64(action.data.curSingleDataPoint),
343343
}
344344
cw.Publish(dataPoint)

cmd/routed-eni-cni-plugin/cni_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import (
2121

2222
"github.com/aws/amazon-vpc-cni-k8s/pkg/sgpp"
2323
"github.com/aws/amazon-vpc-cni-k8s/pkg/utils/logger"
24-
"github.com/aws/aws-sdk-go/aws"
24+
"github.com/aws/aws-sdk-go-v2/aws"
2525
current "github.com/containernetworking/cni/pkg/types/100"
2626

2727
"github.com/containernetworking/cni/pkg/skel"

go.mod

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,16 @@ require (
66
github.com/apparentlymart/go-cidr v1.1.0
77
github.com/aws/amazon-vpc-cni-k8s/test/agent v0.0.0-20231212223725-21c4bd73015b
88
github.com/aws/amazon-vpc-resource-controller-k8s v1.5.0
9-
github.com/aws/aws-sdk-go v1.55.5
9+
github.com/aws/aws-sdk-go-v2 v1.32.5
10+
github.com/aws/aws-sdk-go-v2/config v1.28.4
11+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.19
12+
github.com/aws/aws-sdk-go-v2/service/autoscaling v1.50.0
13+
github.com/aws/aws-sdk-go-v2/service/cloudformation v1.56.0
14+
github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.43.0
15+
github.com/aws/aws-sdk-go-v2/service/ec2 v1.189.0
16+
github.com/aws/aws-sdk-go-v2/service/eks v1.52.1
17+
github.com/aws/aws-sdk-go-v2/service/iam v1.38.1
18+
github.com/aws/smithy-go v1.22.1
1019
github.com/containernetworking/cni v1.2.3
1120
github.com/containernetworking/plugins v1.5.1
1221
github.com/coreos/go-iptables v0.8.0
@@ -50,6 +59,16 @@ require (
5059
github.com/Masterminds/squirrel v1.5.4 // indirect
5160
github.com/Microsoft/hcsshim v0.12.3 // indirect
5261
github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535 // indirect
62+
github.com/aws/aws-sdk-go v1.51.32 // indirect
63+
github.com/aws/aws-sdk-go-v2/credentials v1.17.45 // indirect
64+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.24 // indirect
65+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.24 // indirect
66+
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 // indirect
67+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0 // indirect
68+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.4 // indirect
69+
github.com/aws/aws-sdk-go-v2/service/sso v1.24.5 // indirect
70+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.4 // indirect
71+
github.com/aws/aws-sdk-go-v2/service/sts v1.33.0 // indirect
5372
github.com/beorn7/perks v1.0.1 // indirect
5473
github.com/blang/semver/v4 v4.0.0 // indirect
5574
github.com/cespare/xxhash/v2 v2.3.0 // indirect

go.sum

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,46 @@ github.com/aws/amazon-vpc-cni-k8s/test/agent v0.0.0-20231212223725-21c4bd73015b
3737
github.com/aws/amazon-vpc-cni-k8s/test/agent v0.0.0-20231212223725-21c4bd73015b/go.mod h1:NvS1b2fBgkUvAWgBF8h0aRaVVoUeIlpUMnlTW2wIqik=
3838
github.com/aws/amazon-vpc-resource-controller-k8s v1.5.0 h1:utc5JzVlbORZ/4IFHb4yleqbIOKEevKfVxozKvhJWok=
3939
github.com/aws/amazon-vpc-resource-controller-k8s v1.5.0/go.mod h1:3q5gDG44vGr9ERe0YMHItThKXxDkntAUrlfTgJkdgF8=
40-
github.com/aws/aws-sdk-go v1.55.5 h1:KKUZBfBoyqy5d3swXyiC7Q76ic40rYcbqH7qjh59kzU=
41-
github.com/aws/aws-sdk-go v1.55.5/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU=
40+
github.com/aws/aws-sdk-go v1.51.32 h1:A6mPui7QP4mwmovyzgtdedbRbNur1Iu0/El7hBWNHms=
41+
github.com/aws/aws-sdk-go v1.51.32/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk=
42+
github.com/aws/aws-sdk-go-v2 v1.32.5 h1:U8vdWJuY7ruAkzaOdD7guwJjD06YSKmnKCJs7s3IkIo=
43+
github.com/aws/aws-sdk-go-v2 v1.32.5/go.mod h1:P5WJBrYqqbWVaOxgH0X/FYYD47/nooaPOZPlQdmiN2U=
44+
github.com/aws/aws-sdk-go-v2/config v1.28.4 h1:qgD0MKmkIzZR2DrAjWJcI9UkndjR+8f6sjUQvXh0mb0=
45+
github.com/aws/aws-sdk-go-v2/config v1.28.4/go.mod h1:LgnWnNzHZw4MLplSyEGia0WgJ/kCGD86zGCjvNpehJs=
46+
github.com/aws/aws-sdk-go-v2/credentials v1.17.45 h1:DUgm5lFso57E7150RBgu1JpVQoF8fAPretiDStIuVjg=
47+
github.com/aws/aws-sdk-go-v2/credentials v1.17.45/go.mod h1:dnBpENcPC1ekZrGpSWspX+ZRGzhkvqngT2Qp5xBR1dY=
48+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.19 h1:woXadbf0c7enQ2UGCi8gW/WuKmE0xIzxBF/eD94jMKQ=
49+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.19/go.mod h1:zminj5ucw7w0r65bP6nhyOd3xL6veAUMc3ElGMoLVb4=
50+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.24 h1:4usbeaes3yJnCFC7kfeyhkdkPtoRYPa/hTmCqMpKpLI=
51+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.24/go.mod h1:5CI1JemjVwde8m2WG3cz23qHKPOxbpkq0HaoreEgLIY=
52+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.24 h1:N1zsICrQglfzaBnrfM0Ys00860C+QFwu6u/5+LomP+o=
53+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.24/go.mod h1:dCn9HbJ8+K31i8IQ8EWmWj0EiIk0+vKiHNMxTTYveAg=
54+
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 h1:VaRN3TlFdd6KxX1x3ILT5ynH6HvKgqdiXoTxAF4HQcQ=
55+
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc=
56+
github.com/aws/aws-sdk-go-v2/service/autoscaling v1.50.0 h1:5tF6T8pAKna0TZ2g77jKdTCKoIRDsaYlYxz9OC1BraI=
57+
github.com/aws/aws-sdk-go-v2/service/autoscaling v1.50.0/go.mod h1:I1+/2m+IhnK5qEbhS3CrzjeiVloo9sItE/2K+so0fkU=
58+
github.com/aws/aws-sdk-go-v2/service/cloudformation v1.56.0 h1:zmXJiEm/fQYtFDLIUsZrcPIjTrL3R/noFICGlYBj3Ww=
59+
github.com/aws/aws-sdk-go-v2/service/cloudformation v1.56.0/go.mod h1:9nOjXCDKE+QMK4JaCrLl36PU+VEfJmI7WVehYmojO8s=
60+
github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.43.0 h1:r1sp92LSk4Gx8l0gScEjzSN+4iiImDvNayY9JYPNtNI=
61+
github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.43.0/go.mod h1:fkETEwhdw2tOqu5m0Xa3wimV3PLDaiGqNrVZ3MJ7zOc=
62+
github.com/aws/aws-sdk-go-v2/service/ec2 v1.189.0 h1:eBriSsQa4r7aiKF2wv1EGYbK3X1VnjAYvdOlepBUi8s=
63+
github.com/aws/aws-sdk-go-v2/service/ec2 v1.189.0/go.mod h1:0A17IIeys01WfjDKehspGP+Cyo/YH/eNADIbEbRS9yM=
64+
github.com/aws/aws-sdk-go-v2/service/eks v1.52.1 h1:XqyUdJbXQxY48CbBtN9a51HoTQy/kTIwrWiruRDsydk=
65+
github.com/aws/aws-sdk-go-v2/service/eks v1.52.1/go.mod h1:WTfZ/+I7aSMEna6iYm1Kjne9A8f1MyxXNfp6hCa1+Bk=
66+
github.com/aws/aws-sdk-go-v2/service/iam v1.38.1 h1:hfkzDZHBp9jAT4zcd5mtqckpU4E3Ax0LQaEWWk1VgN8=
67+
github.com/aws/aws-sdk-go-v2/service/iam v1.38.1/go.mod h1:u36ahDtZcQHGmVm/r+0L1sfKX4fzLEMdCqiKRKkUMVM=
68+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0 h1:TToQNkvGguu209puTojY/ozlqy2d/SFNcoLIqTFi42g=
69+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0/go.mod h1:0jp+ltwkf+SwG2fm/PKo8t4y8pJSgOCO4D8Lz3k0aHQ=
70+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.4 h1:tHxQi/XHPK0ctd/wdOw0t7Xrc2OxcRCnVzv8lwWPu0c=
71+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.4/go.mod h1:4GQbF1vJzG60poZqWatZlhP31y8PGCCVTvIGPdaaYJ0=
72+
github.com/aws/aws-sdk-go-v2/service/sso v1.24.5 h1:HJwZwRt2Z2Tdec+m+fPjvdmkq2s9Ra+VR0hjF7V2o40=
73+
github.com/aws/aws-sdk-go-v2/service/sso v1.24.5/go.mod h1:wrMCEwjFPms+V86TCQQeOxQF/If4vT44FGIOFiMC2ck=
74+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.4 h1:zcx9LiGWZ6i6pjdcoE9oXAB6mUdeyC36Ia/QEiIvYdg=
75+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.4/go.mod h1:Tp/ly1cTjRLGBBmNccFumbZ8oqpZlpdhFf80SrRh4is=
76+
github.com/aws/aws-sdk-go-v2/service/sts v1.33.0 h1:s7LRgBqhwLaxcocnAniBJp7gaAB+4I4vHzqUqjH18yc=
77+
github.com/aws/aws-sdk-go-v2/service/sts v1.33.0/go.mod h1:9XEUty5v5UAsMiFOBJrNibZgwCeOma73jgGwwhgffa8=
78+
github.com/aws/smithy-go v1.22.1 h1:/HPHZQ0g7f4eUeK6HKglFz8uwVfZKgoI25rb/J+dnro=
79+
github.com/aws/smithy-go v1.22.1/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg=
4280
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
4381
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
4482
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=

pkg/awsutils/awssession/session.go

Lines changed: 77 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -14,20 +14,24 @@
1414
package awssession
1515

1616
import (
17+
"context"
1718
"fmt"
1819
"net/http"
1920
"os"
2021

22+
"github.com/aws/aws-sdk-go-v2/aws"
23+
"github.com/aws/aws-sdk-go-v2/aws/retry"
24+
"github.com/aws/aws-sdk-go-v2/config"
25+
"github.com/aws/aws-sdk-go-v2/service/ec2"
26+
"github.com/aws/smithy-go"
27+
smithymiddleware "github.com/aws/smithy-go/middleware"
28+
smithyhttp "github.com/aws/smithy-go/transport/http"
29+
2130
"strconv"
2231
"time"
2332

2433
"github.com/aws/amazon-vpc-cni-k8s/pkg/utils/logger"
2534
"github.com/aws/amazon-vpc-cni-k8s/utils"
26-
"github.com/aws/aws-sdk-go/aws"
27-
"github.com/aws/aws-sdk-go/aws/endpoints"
28-
"github.com/aws/aws-sdk-go/aws/request"
29-
"github.com/aws/aws-sdk-go/aws/session"
30-
"github.com/aws/aws-sdk-go/service/ec2"
3135
)
3236

3337
// Http client timeout env for sessions
@@ -58,43 +62,84 @@ func getHTTPTimeout() time.Duration {
5862
return httpTimeoutValue
5963
}
6064

61-
// New will return an session for service clients
62-
func New() *session.Session {
63-
awsCfg := aws.Config{
64-
MaxRetries: aws.Int(maxRetries),
65-
HTTPClient: &http.Client{
66-
Timeout: getHTTPTimeout(),
67-
},
68-
STSRegionalEndpoint: endpoints.RegionalSTSEndpoint,
65+
// New will return aws.Config to be used by Service Clients.
66+
func New(ctx context.Context) (aws.Config, error) {
67+
customHTTPClient := &http.Client{
68+
Timeout: getHTTPTimeout()}
69+
optFns := []func(*config.LoadOptions) error{
70+
config.WithHTTPClient(customHTTPClient),
71+
config.WithRetryMaxAttempts(maxRetries),
72+
config.WithRetryer(func() aws.Retryer {
73+
return retry.NewStandard()
74+
}),
75+
injectUserAgent,
6976
}
7077

7178
endpoint := os.Getenv("AWS_EC2_ENDPOINT")
7279
if endpoint != "" {
73-
customResolver := func(service, region string, optFns ...func(*endpoints.Options)) (endpoints.ResolvedEndpoint, error) {
74-
if service == ec2.EndpointsID {
75-
return endpoints.ResolvedEndpoint{
76-
URL: endpoint,
77-
}, nil
78-
}
79-
return endpoints.DefaultResolver().EndpointFor(service, region, optFns...)
80-
}
81-
awsCfg.EndpointResolver = endpoints.ResolverFunc(customResolver)
80+
optFns = append(optFns, config.WithEndpointResolver(aws.EndpointResolverFunc(
81+
func(service, region string) (aws.Endpoint, error) {
82+
if service == ec2.ServiceID {
83+
return aws.Endpoint{
84+
URL: endpoint,
85+
}, nil
86+
}
87+
// Fall back to default resolution
88+
return aws.Endpoint{}, &aws.EndpointNotFoundError{}
89+
})))
90+
8291
}
8392

84-
sess := session.Must(session.NewSession(&awsCfg))
85-
//injecting session handler info
86-
injectUserAgent(&sess.Handlers)
93+
cfg, err := config.LoadDefaultConfig(ctx, optFns...)
94+
95+
if err != nil {
96+
return aws.Config{}, fmt.Errorf("failed to load AWS config: %w", err)
97+
}
8798

88-
return sess
99+
return cfg, nil
89100
}
90101

91102
// injectUserAgent will inject app specific user-agent into awsSDK
92-
func injectUserAgent(handlers *request.Handlers) {
103+
func injectUserAgent(loadOptions *config.LoadOptions) error {
93104
version := utils.GetEnv(envVpcCniVersion, "")
94-
handlers.Build.PushFrontNamed(request.NamedHandler{
95-
Name: fmt.Sprintf("%s/user-agent", "amazon-vpc-cni-k8s"),
96-
Fn: request.MakeAddToUserAgentHandler(
97-
"amazon-vpc-cni-k8s",
98-
"version/"+version),
105+
userAgent := fmt.Sprintf("amazon-vpc-cni-k8s/version/%s", version)
106+
107+
loadOptions.APIOptions = append(loadOptions.APIOptions, func(stack *smithymiddleware.Stack) error {
108+
return stack.Build.Add(&addUserAgentMiddleware{
109+
userAgent: userAgent,
110+
}, smithymiddleware.After)
99111
})
112+
113+
return nil
114+
}
115+
116+
type addUserAgentMiddleware struct {
117+
userAgent string
118+
}
119+
120+
func (m *addUserAgentMiddleware) HandleBuild(ctx context.Context, in smithymiddleware.BuildInput, next smithymiddleware.BuildHandler) (out smithymiddleware.BuildOutput, metadata smithymiddleware.Metadata, err error) {
121+
// Simply pass through to the next handler in the middleware chain
122+
return next.HandleBuild(ctx, in)
123+
}
124+
125+
func (m *addUserAgentMiddleware) ID() string {
126+
return "AddUserAgent"
127+
}
128+
129+
func (m *addUserAgentMiddleware) HandleFinalize(ctx context.Context, in smithymiddleware.FinalizeInput, next smithymiddleware.FinalizeHandler) (
130+
out smithymiddleware.FinalizeOutput, metadata smithymiddleware.Metadata, err error) {
131+
req, ok := in.Request.(*smithyhttp.Request)
132+
if !ok {
133+
return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown request type %T", in.Request)}
134+
}
135+
136+
userAgent := req.Header.Get("User-Agent")
137+
if userAgent == "" {
138+
userAgent = m.userAgent
139+
} else {
140+
userAgent += " " + m.userAgent
141+
}
142+
req.Header.Set("User-Agent", userAgent)
143+
144+
return next.HandleFinalize(ctx, in)
100145
}

pkg/awsutils/awssession/session_test.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
package awssession
22

33
import (
4+
"context"
45
"os"
56
"testing"
67
"time"
78

8-
"github.com/aws/aws-sdk-go/service/ec2"
9+
"github.com/aws/aws-sdk-go-v2/service/ec2"
910
"github.com/stretchr/testify/assert"
1011
)
1112

@@ -25,13 +26,15 @@ func TestHttpTimeoutWithValueAbove10(t *testing.T) {
2526

2627
func TestAwsEc2EndpointResolver(t *testing.T) {
2728
customEndpoint := "https://ec2.us-west-2.customaws.com"
29+
ctx := context.Background()
2830

2931
os.Setenv("AWS_EC2_ENDPOINT", customEndpoint)
3032
defer os.Unsetenv("AWS_EC2_ENDPOINT")
3133

32-
sess := New()
34+
cfg, err := New(ctx)
35+
assert.NoError(t, err)
3336

34-
resolvedEndpoint, err := sess.Config.EndpointResolver.EndpointFor(ec2.EndpointsID, "")
37+
resolvedEndpoint, err := cfg.EndpointResolver.ResolveEndpoint(ec2.ServiceID, "")
3538
assert.NoError(t, err)
3639
assert.Equal(t, customEndpoint, resolvedEndpoint.URL)
3740
}

0 commit comments

Comments
 (0)