@@ -26,20 +26,17 @@ import (
26
26
"github.com/aws/aws-sdk-go-v2/service/iam"
27
27
rgapi "github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi"
28
28
"github.com/aws/aws-sdk-go-v2/service/s3"
29
+ "github.com/aws/aws-sdk-go-v2/service/secretsmanager"
29
30
"github.com/aws/aws-sdk-go-v2/service/sqs"
30
31
"github.com/aws/aws-sdk-go-v2/service/ssm"
31
32
stsv2 "github.com/aws/aws-sdk-go-v2/service/sts"
32
- "github.com/aws/aws-sdk-go/aws"
33
33
"github.com/aws/aws-sdk-go/aws/awserr"
34
34
"github.com/aws/aws-sdk-go/aws/request"
35
- "github.com/aws/aws-sdk-go/service/secretsmanager"
36
- "github.com/aws/aws-sdk-go/service/secretsmanager/secretsmanageriface"
37
35
"k8s.io/apimachinery/pkg/runtime"
38
36
39
37
"sigs.k8s.io/cluster-api-provider-aws/v2/pkg/cloud"
40
38
"sigs.k8s.io/cluster-api-provider-aws/v2/pkg/cloud/endpointsv2"
41
39
awslogs "sigs.k8s.io/cluster-api-provider-aws/v2/pkg/cloud/logs"
42
- awsmetrics "sigs.k8s.io/cluster-api-provider-aws/v2/pkg/cloud/metrics"
43
40
awsmetricsv2 "sigs.k8s.io/cluster-api-provider-aws/v2/pkg/cloud/metricsv2"
44
41
stsservice "sigs.k8s.io/cluster-api-provider-aws/v2/pkg/cloud/services/sts"
45
42
"sigs.k8s.io/cluster-api-provider-aws/v2/pkg/cloud/throttle"
@@ -50,7 +47,7 @@ import (
50
47
51
48
// NewASGClient creates a new ASG API client for a given session.
52
49
func NewASGClient (scopeUser cloud.ScopeUsage , session cloud.Session , logger logger.Wrapper , target runtime.Object ) * autoscaling.Client {
53
- cfg := session .SessionV2 ()
50
+ cfg := session .Session ()
54
51
55
52
autoscalingOpts := []func (* autoscaling.Options ){
56
53
func (o * autoscaling.Options ) {
@@ -68,7 +65,7 @@ func NewASGClient(scopeUser cloud.ScopeUsage, session cloud.Session, logger logg
68
65
69
66
// NewEC2Client creates a new EC2 API client for a given session.
70
67
func NewEC2Client (scopeUser cloud.ScopeUsage , session cloud.Session , logger logger.Wrapper , target runtime.Object ) * ec2.Client {
71
- cfg := session .SessionV2 ()
68
+ cfg := session .Session ()
72
69
multiSvcEndpointResolver := endpointsv2 .NewMultiServiceEndpointResolver ()
73
70
ec2EndpointResolver := & endpointsv2.EC2EndpointResolver {
74
71
MultiServiceEndpointResolver : multiSvcEndpointResolver ,
@@ -92,7 +89,7 @@ func NewEC2Client(scopeUser cloud.ScopeUsage, session cloud.Session, logger logg
92
89
93
90
// NewELBClient creates a new ELB API client for a given session.
94
91
func NewELBClient (scopeUser cloud.ScopeUsage , session cloud.Session , logger logger.Wrapper , target runtime.Object ) * elb.Client {
95
- cfg := session .SessionV2 ()
92
+ cfg := session .Session ()
96
93
multiSvcEndpointResolver := endpointsv2 .NewMultiServiceEndpointResolver ()
97
94
endpointResolver := & endpointsv2.ELBEndpointResolver {
98
95
MultiServiceEndpointResolver : multiSvcEndpointResolver ,
@@ -116,7 +113,7 @@ func NewELBClient(scopeUser cloud.ScopeUsage, session cloud.Session, logger logg
116
113
117
114
// NewELBv2Client creates a new ELB v2 API client for a given session.
118
115
func NewELBv2Client (scopeUser cloud.ScopeUsage , session cloud.Session , logger logger.Wrapper , target runtime.Object ) * elbv2.Client {
119
- cfg := session .SessionV2 ()
116
+ cfg := session .Session ()
120
117
multiSvcEndpointResolver := endpointsv2 .NewMultiServiceEndpointResolver ()
121
118
endpointResolver := & endpointsv2.ELBV2EndpointResolver {
122
119
MultiServiceEndpointResolver : multiSvcEndpointResolver ,
@@ -140,7 +137,7 @@ func NewELBv2Client(scopeUser cloud.ScopeUsage, session cloud.Session, logger lo
140
137
141
138
// NewEventBridgeClient creates a new EventBridge API client for a given session.
142
139
func NewEventBridgeClient (scopeUser cloud.ScopeUsage , session cloud.Session , target runtime.Object ) * eventbridge.Client {
143
- cfg := session .SessionV2 ()
140
+ cfg := session .Session ()
144
141
multiSvcEndpointResolver := endpointsv2 .NewMultiServiceEndpointResolver ()
145
142
endpointResolver := & endpointsv2.EventBridgeEndpointResolver {
146
143
MultiServiceEndpointResolver : multiSvcEndpointResolver ,
@@ -161,7 +158,7 @@ func NewEventBridgeClient(scopeUser cloud.ScopeUsage, session cloud.Session, tar
161
158
162
159
// NewSQSClient creates a new SQS API client for a given session.
163
160
func NewSQSClient (scopeUser cloud.ScopeUsage , session cloud.Session , target runtime.Object ) * sqs.Client {
164
- cfg := session .SessionV2 ()
161
+ cfg := session .Session ()
165
162
multiSvcEndpointResolver := endpointsv2 .NewMultiServiceEndpointResolver ()
166
163
endpointResolver := & endpointsv2.SQSEndpointResolver {
167
164
MultiServiceEndpointResolver : multiSvcEndpointResolver ,
@@ -182,7 +179,7 @@ func NewSQSClient(scopeUser cloud.ScopeUsage, session cloud.Session, target runt
182
179
183
180
// NewGlobalSQSClient for creating a new SQS API client that isn't tied to a cluster.
184
181
func NewGlobalSQSClient (scopeUser cloud.ScopeUsage , session cloud.Session ) * sqs.Client {
185
- cfg := session .SessionV2 ()
182
+ cfg := session .Session ()
186
183
multiSvcEndpointResolver := endpointsv2 .NewMultiServiceEndpointResolver ()
187
184
endpointResolver := & endpointsv2.SQSEndpointResolver {
188
185
MultiServiceEndpointResolver : multiSvcEndpointResolver ,
@@ -203,7 +200,7 @@ func NewGlobalSQSClient(scopeUser cloud.ScopeUsage, session cloud.Session) *sqs.
203
200
204
201
// NewResourgeTaggingClient creates a new Resource Tagging API client for a given session.
205
202
func NewResourgeTaggingClient (scopeUser cloud.ScopeUsage , session cloud.Session , logger logger.Wrapper , target runtime.Object ) * rgapi.Client {
206
- cfg := session .SessionV2 ()
203
+ cfg := session .Session ()
207
204
multiSvcEndpointResolver := endpointsv2 .NewMultiServiceEndpointResolver ()
208
205
endpointResolver := & endpointsv2.RGAPIEndpointResolver {
209
206
MultiServiceEndpointResolver : multiSvcEndpointResolver ,
@@ -222,20 +219,27 @@ func NewResourgeTaggingClient(scopeUser cloud.ScopeUsage, session cloud.Session,
222
219
}
223
220
224
221
// NewSecretsManagerClient creates a new Secrets API client for a given session..
225
- func NewSecretsManagerClient (scopeUser cloud.ScopeUsage , session cloud.Session , logger logger.Wrapper , target runtime.Object ) secretsmanageriface.SecretsManagerAPI {
226
- secretsClient := secretsmanager .New (session .Session (), aws .NewConfig ().WithLogLevel (awslogs .GetAWSLogLevel (logger .GetLogger ())).WithLogger (awslogs .NewWrapLogr (logger .GetLogger ())))
227
- secretsClient .Handlers .Build .PushFrontNamed (getUserAgentHandler ())
228
- secretsClient .Handlers .Sign .PushFront (session .ServiceLimiter (secretsClient .ServiceID ).LimitRequest )
229
- secretsClient .Handlers .CompleteAttempt .PushFront (awsmetrics .CaptureRequestMetrics (scopeUser .ControllerName ()))
230
- secretsClient .Handlers .CompleteAttempt .PushFront (session .ServiceLimiter (secretsClient .ServiceID ).ReviewResponse )
231
- secretsClient .Handlers .Complete .PushBack (recordAWSPermissionsIssue (target ))
232
-
233
- return secretsClient
222
+ func NewSecretsManagerClient (scopeUser cloud.ScopeUsage , session cloud.Session , logger logger.Wrapper , target runtime.Object ) * secretsmanager.Client {
223
+ cfg := session .Session ()
224
+
225
+ secretsOpts := []func (* secretsmanager.Options ){
226
+ func (o * secretsmanager.Options ) {
227
+ o .Logger = logger .GetAWSLogger ()
228
+ o .ClientLogMode = awslogs .GetAWSLogLevelV2 (logger .GetLogger ())
229
+ },
230
+ secretsmanager .WithAPIOptions (
231
+ awsmetricsv2 .WithMiddlewares (scopeUser .ControllerName (), target ),
232
+ awsmetricsv2 .WithCAPAUserAgentMiddleware (),
233
+ throttle .WithServiceLimiterMiddleware (session .ServiceLimiter (secretsmanager .ServiceID )),
234
+ ),
235
+ }
236
+
237
+ return secretsmanager .NewFromConfig (cfg , secretsOpts ... )
234
238
}
235
239
236
240
// NewEKSClient creates a new EKS API client for a given session.
237
241
func NewEKSClient (scopeUser cloud.ScopeUsage , session cloud.Session , logger logger.Wrapper , target runtime.Object ) * eks.Client {
238
- cfg := session .SessionV2 ()
242
+ cfg := session .Session ()
239
243
multiSvcEndpointResolver := endpointsv2 .NewMultiServiceEndpointResolver ()
240
244
eksEndpointResolver := & endpointsv2.EKSEndpointResolver {
241
245
MultiServiceEndpointResolver : multiSvcEndpointResolver ,
@@ -253,7 +257,7 @@ func NewEKSClient(scopeUser cloud.ScopeUsage, session cloud.Session, logger logg
253
257
254
258
// NewIAMClient creates a new IAM API client for a given session.
255
259
func NewIAMClient (scopeUser cloud.ScopeUsage , session cloud.Session , logger logger.Wrapper , target runtime.Object ) * iam.Client {
256
- cfg := session .SessionV2 ()
260
+ cfg := session .Session ()
257
261
258
262
iamOpts := []func (* iam.Options ){
259
263
func (o * iam.Options ) {
@@ -271,7 +275,7 @@ func NewIAMClient(scopeUser cloud.ScopeUsage, session cloud.Session, logger logg
271
275
272
276
// NewSTSClient creates a new STS API client for a given session.
273
277
func NewSTSClient (scopeUser cloud.ScopeUsage , session cloud.Session , logger logger.Wrapper , target runtime.Object ) stsservice.STSClient {
274
- cfg := session .SessionV2 ()
278
+ cfg := session .Session ()
275
279
multiSvcEndpointResolver := endpointsv2 .NewMultiServiceEndpointResolver ()
276
280
stsEndpointResolver := & endpointsv2.STSEndpointResolver {
277
281
MultiServiceEndpointResolver : multiSvcEndpointResolver ,
@@ -294,7 +298,7 @@ func NewSTSClient(scopeUser cloud.ScopeUsage, session cloud.Session, logger logg
294
298
295
299
// NewSSMClient creates a new Secrets API client for a given session.
296
300
func NewSSMClient (scopeUser cloud.ScopeUsage , session cloud.Session , logger logger.Wrapper , target runtime.Object ) * ssm.Client {
297
- cfg := session .SessionV2 ()
301
+ cfg := session .Session ()
298
302
multiSvcEndpointResolver := endpointsv2 .NewMultiServiceEndpointResolver ()
299
303
ssmEndpointResolver := & endpointsv2.SSMEndpointResolver {
300
304
MultiServiceEndpointResolver : multiSvcEndpointResolver ,
@@ -316,7 +320,7 @@ func NewSSMClient(scopeUser cloud.ScopeUsage, session cloud.Session, logger logg
316
320
317
321
// NewS3Client creates a new S3 API client for a given session.
318
322
func NewS3Client (scopeUser cloud.ScopeUsage , session cloud.Session , logger logger.Wrapper , target runtime.Object ) * s3.Client {
319
- cfg := session .SessionV2 ()
323
+ cfg := session .Session ()
320
324
multiSvcEndpointResolver := endpointsv2 .NewMultiServiceEndpointResolver ()
321
325
s3EndpointResolver := & endpointsv2.S3EndpointResolver {
322
326
MultiServiceEndpointResolver : multiSvcEndpointResolver ,
@@ -353,7 +357,7 @@ func getUserAgentHandler() request.NamedHandler {
353
357
// AWSClients contains all the aws clients used by the scopes.
354
358
type AWSClients struct {
355
359
ELB * elb.Client
356
- SecretsManager secretsmanageriface. SecretsManagerAPI
360
+ SecretsManager * secretsmanager. Client
357
361
ResourceTagging * rgapi.Client
358
362
ASG * autoscaling.Client
359
363
EC2 * ec2.Client
0 commit comments