Skip to content

Commit ff8d42f

Browse files
mruegaauren
authored andcommitted
Update aws-sdk to v2
1 parent e9a0f5e commit ff8d42f

File tree

3 files changed

+67
-26
lines changed

3 files changed

+67
-26
lines changed

go.mod

+14-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
module github.com/cloudnativelabs/kube-router/v2
22

33
require (
4-
github.com/aws/aws-sdk-go v1.55.6
4+
github.com/aws/aws-sdk-go-v2 v1.36.3
5+
github.com/aws/aws-sdk-go-v2/config v1.29.9
6+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.30
7+
github.com/aws/aws-sdk-go-v2/service/ec2 v1.209.0
8+
github.com/aws/smithy-go v1.22.3
59
github.com/ccoveille/go-safecast v1.6.1
610
github.com/coreos/go-iptables v0.8.0
711
github.com/docker/docker v28.0.1+incompatible
@@ -29,6 +33,15 @@ require (
2933

3034
require (
3135
github.com/Microsoft/go-winio v0.6.2 // indirect
36+
github.com/aws/aws-sdk-go-v2/credentials v1.17.62 // indirect
37+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.34 // indirect
38+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.34 // indirect
39+
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 // indirect
40+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.3 // indirect
41+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.15 // indirect
42+
github.com/aws/aws-sdk-go-v2/service/sso v1.25.1 // indirect
43+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.29.1 // indirect
44+
github.com/aws/aws-sdk-go-v2/service/sts v1.33.17 // indirect
3245
github.com/beorn7/perks v1.0.1 // indirect
3346
github.com/cespare/xxhash/v2 v2.3.0 // indirect
3447
github.com/containerd/log v0.1.0 // indirect
@@ -56,7 +69,6 @@ require (
5669
github.com/google/uuid v1.6.0 // indirect
5770
github.com/hashicorp/hcl v1.0.0 // indirect
5871
github.com/imdario/mergo v0.3.16 // indirect
59-
github.com/jmespath/go-jmespath v0.4.0 // indirect
6072
github.com/josharian/intern v1.0.0 // indirect
6173
github.com/json-iterator/go v1.1.12 // indirect
6274
github.com/k-sone/critbitgo v1.4.0 // indirect

go.sum

+28-6
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,34 @@ github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOEl
22
github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E=
33
github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY=
44
github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU=
5-
github.com/aws/aws-sdk-go v1.55.6 h1:cSg4pvZ3m8dgYcgqB97MrcdjUmZ1BeMYKUxMMB89IPk=
6-
github.com/aws/aws-sdk-go v1.55.6/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU=
5+
github.com/aws/aws-sdk-go-v2 v1.36.3 h1:mJoei2CxPutQVxaATCzDUjcZEjVRdpsiiXi2o38yqWM=
6+
github.com/aws/aws-sdk-go-v2 v1.36.3/go.mod h1:LLXuLpgzEbD766Z5ECcRmi8AzSwfZItDtmABVkRLGzg=
7+
github.com/aws/aws-sdk-go-v2/config v1.29.9 h1:Kg+fAYNaJeGXp1vmjtidss8O2uXIsXwaRqsQJKXVr+0=
8+
github.com/aws/aws-sdk-go-v2/config v1.29.9/go.mod h1:oU3jj2O53kgOU4TXq/yipt6ryiooYjlkqqVaZk7gY/U=
9+
github.com/aws/aws-sdk-go-v2/credentials v1.17.62 h1:fvtQY3zFzYJ9CfixuAQ96IxDrBajbBWGqjNTCa79ocU=
10+
github.com/aws/aws-sdk-go-v2/credentials v1.17.62/go.mod h1:ElETBxIQqcxej++Cs8GyPBbgMys5DgQPTwo7cUPDKt8=
11+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.30 h1:x793wxmUWVDhshP8WW2mlnXuFrO4cOd3HLBroh1paFw=
12+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.30/go.mod h1:Jpne2tDnYiFascUEs2AWHJL9Yp7A5ZVy3TNyxaAjD6M=
13+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.34 h1:ZK5jHhnrioRkUNOc+hOgQKlUL5JeC3S6JgLxtQ+Rm0Q=
14+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.34/go.mod h1:p4VfIceZokChbA9FzMbRGz5OV+lekcVtHlPKEO0gSZY=
15+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.34 h1:SZwFm17ZUNNg5Np0ioo/gq8Mn6u9w19Mri8DnJ15Jf0=
16+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.34/go.mod h1:dFZsC0BLo346mvKQLWmoJxT+Sjp+qcVR1tRVHQGOH9Q=
17+
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 h1:bIqFDwgGXXN1Kpp99pDOdKMTTb5d2KyU5X/BZxjOkRo=
18+
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3/go.mod h1:H5O/EsxDWyU+LP/V8i5sm8cxoZgc2fdNR9bxlOFrQTo=
19+
github.com/aws/aws-sdk-go-v2/service/ec2 v1.209.0 h1:WpLv8X3/Ct0ZRvx8QL91V9ndnIOi1WDfz0+F4ZEKwns=
20+
github.com/aws/aws-sdk-go-v2/service/ec2 v1.209.0/go.mod h1:ouvGEfHbLaIlWwpDpOVWPWR+YwO0HDv3vm5tYLq8ImY=
21+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.3 h1:eAh2A4b5IzM/lum78bZ590jy36+d/aFLgKF/4Vd1xPE=
22+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.3/go.mod h1:0yKJC/kb8sAnmlYa6Zs3QVYqaC8ug2AbnNChv5Ox3uA=
23+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.15 h1:dM9/92u2F1JbDaGooxTq18wmmFzbJRfXfVfy96/1CXM=
24+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.15/go.mod h1:SwFBy2vjtA0vZbjjaFtfN045boopadnoVPhu4Fv66vY=
25+
github.com/aws/aws-sdk-go-v2/service/sso v1.25.1 h1:8JdC7Gr9NROg1Rusk25IcZeTO59zLxsKgE0gkh5O6h0=
26+
github.com/aws/aws-sdk-go-v2/service/sso v1.25.1/go.mod h1:qs4a9T5EMLl/Cajiw2TcbNt2UNo/Hqlyp+GiuG4CFDI=
27+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.29.1 h1:KwuLovgQPcdjNMfFt9OhUd9a2OwcOKhxfvF4glTzLuA=
28+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.29.1/go.mod h1:MlYRNmYu/fGPoxBQVvBYr9nyr948aY/WLUvwBMBJubs=
29+
github.com/aws/aws-sdk-go-v2/service/sts v1.33.17 h1:PZV5W8yk4OtH1JAuhV2PXwwO9v5G5Aoj+eMCn4T+1Kc=
30+
github.com/aws/aws-sdk-go-v2/service/sts v1.33.17/go.mod h1:cQnB8CUnxbMU82JvlqjKR2HBOm3fe9pWorWBza6MBJ4=
31+
github.com/aws/smithy-go v1.22.3 h1:Z//5NuZCSW6R4PhQ93hShNbyBbn8BWCmCVCt+Q8Io5k=
32+
github.com/aws/smithy-go v1.22.3/go.mod h1:t1ufH5HMublsJYulve2RKmHDC15xu1f26kHCp/HgceI=
733
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
834
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
935
github.com/ccoveille/go-safecast v1.6.1 h1:Nb9WMDR8PqhnKCVs2sCB+OqhohwO5qaXtCviZkIff5Q=
@@ -101,10 +127,6 @@ github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T
101127
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
102128
github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4=
103129
github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY=
104-
github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=
105-
github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
106-
github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8=
107-
github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
108130
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
109131
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
110132
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=

pkg/controllers/routing/aws.go

+25-18
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
11
package routing
22

33
import (
4+
"context"
5+
"errors"
46
"net/url"
57
"strings"
68
"time"
79

8-
"github.com/aws/aws-sdk-go/aws"
9-
"github.com/aws/aws-sdk-go/aws/awserr"
10-
"github.com/aws/aws-sdk-go/aws/ec2metadata"
11-
"github.com/aws/aws-sdk-go/aws/session"
12-
"github.com/aws/aws-sdk-go/service/ec2"
10+
"github.com/aws/aws-sdk-go-v2/aws"
11+
"github.com/aws/aws-sdk-go-v2/config"
12+
"github.com/aws/aws-sdk-go-v2/feature/ec2/imds"
13+
"github.com/aws/aws-sdk-go-v2/service/ec2"
14+
"github.com/aws/aws-sdk-go-v2/service/ec2/types"
15+
"github.com/aws/smithy-go"
1316
"k8s.io/klog/v2"
1417

1518
v1core "k8s.io/api/core/v1"
@@ -41,30 +44,34 @@ func (nrc *NetworkRoutingController) disableSourceDestinationCheck() {
4144
instanceID := URL.Path
4245
instanceID = strings.Trim(instanceID, "/")
4346

44-
sess, _ := session.NewSession(aws.NewConfig().WithMaxRetries(awsMaxRetries))
45-
metadataClient := ec2metadata.New(sess)
46-
region, err := metadataClient.Region()
47+
cfg, _ := config.LoadDefaultConfig(context.TODO(),
48+
config.WithRetryMaxAttempts(awsMaxRetries))
49+
metadataClient := imds.NewFromConfig(cfg)
50+
region, err := metadataClient.GetRegion(context.TODO(), &imds.GetRegionInput{})
4751
if err != nil {
4852
klog.Errorf("failed to disable source destination check due to: %v", err)
4953
return
5054
}
51-
sess.Config.Region = aws.String(region)
52-
ec2Client := ec2.New(sess)
53-
_, err = ec2Client.ModifyInstanceAttribute(
55+
cfg.Region = region.Region
56+
ec2Client := ec2.NewFromConfig(cfg)
57+
_, err = ec2Client.ModifyInstanceAttribute(context.TODO(),
5458
&ec2.ModifyInstanceAttributeInput{
5559
InstanceId: aws.String(instanceID),
56-
SourceDestCheck: &ec2.AttributeBooleanValue{
60+
SourceDestCheck: &types.AttributeBooleanValue{
5761
Value: aws.Bool(false),
5862
},
5963
},
6064
)
6165
if err != nil {
62-
awsErr := err.(awserr.Error)
63-
if awsErr.Code() == "UnauthorizedOperation" {
64-
nrc.ec2IamAuthorized = false
65-
klog.Errorf("Node does not have necessary IAM creds to modify instance attribute. So skipping " +
66-
"disabling src-dst check.")
67-
return
66+
var apiErr smithy.APIError
67+
if errors.As(err, &apiErr) {
68+
if apiErr.ErrorCode() == "UnauthorizedOperation" {
69+
nrc.ec2IamAuthorized = false
70+
klog.Errorf("Node does not have necessary IAM creds to modify instance attribute. So skipping "+
71+
"disabling src-dst check. %v", apiErr.ErrorMessage())
72+
return
73+
74+
}
6875
}
6976
klog.Errorf("failed to disable source destination check due to: %v", err)
7077
} else {

0 commit comments

Comments
 (0)