@@ -28,14 +28,14 @@ import (
2828 "github.com/aws/aws-sdk-go-v2/service/iam"
2929 rgapi "github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi"
3030 "github.com/aws/aws-sdk-go-v2/service/s3"
31+ secretsmanagerv2 "github.com/aws/aws-sdk-go-v2/service/secretsmanager"
3132 "github.com/aws/aws-sdk-go-v2/service/sqs"
3233 "github.com/aws/aws-sdk-go-v2/service/ssm"
3334 "github.com/aws/aws-sdk-go/aws"
3435 "github.com/aws/aws-sdk-go/aws/awserr"
3536 "github.com/aws/aws-sdk-go/aws/request"
3637 "github.com/aws/aws-sdk-go/service/ec2"
3738 "github.com/aws/aws-sdk-go/service/ec2/ec2iface"
38- "github.com/aws/aws-sdk-go/service/secretsmanager"
3939 "github.com/aws/aws-sdk-go/service/secretsmanager/secretsmanageriface"
4040 "github.com/aws/aws-sdk-go/service/sts"
4141 "github.com/aws/aws-sdk-go/service/sts/stsiface"
@@ -224,16 +224,26 @@ func NewResourgeTaggingClient(scopeUser cloud.ScopeUsage, session cloud.Session,
224224 return rgapi .NewFromConfig (cfg , opts ... )
225225}
226226
227- // NewSecretsManagerClient creates a new Secrets API client for a given session..
228- func NewSecretsManagerClient (scopeUser cloud.ScopeUsage , session cloud.Session , logger logger.Wrapper , target runtime.Object ) secretsmanageriface.SecretsManagerAPI {
229- secretsClient := secretsmanager .New (session .Session (), aws .NewConfig ().WithLogLevel (awslogs .GetAWSLogLevel (logger .GetLogger ())).WithLogger (awslogs .NewWrapLogr (logger .GetLogger ())))
230- secretsClient .Handlers .Build .PushFrontNamed (getUserAgentHandler ())
231- secretsClient .Handlers .Sign .PushFront (session .ServiceLimiter (secretsClient .ServiceID ).LimitRequest )
232- secretsClient .Handlers .CompleteAttempt .PushFront (awsmetrics .CaptureRequestMetrics (scopeUser .ControllerName ()))
233- secretsClient .Handlers .CompleteAttempt .PushFront (session .ServiceLimiter (secretsClient .ServiceID ).ReviewResponse )
234- secretsClient .Handlers .Complete .PushBack (recordAWSPermissionsIssue (target ))
227+ // NewSecretsManagerClientV2 creates a new Secrets Manager API client for a given session using AWS SDK v2.
228+ func NewSecretsManagerClientV2 (scopeUser cloud.ScopeUsage , session cloud.Session , logger logger.Wrapper , target runtime.Object ) * secretsmanagerv2.Client {
229+ cfg := session .SessionV2 ()
230+ multiSvcEndpointResolver := endpointsv2 .NewMultiServiceEndpointResolver ()
231+ secretsManagerEndpointResolver := & endpointsv2.SecretsManagerEndpointResolver {
232+ MultiServiceEndpointResolver : multiSvcEndpointResolver ,
233+ }
234+ secretsManagerOpts := []func (* secretsmanagerv2.Options ){
235+ func (o * secretsmanagerv2.Options ) {
236+ o .Logger = logger .GetAWSLogger ()
237+ o .ClientLogMode = awslogs .GetAWSLogLevelV2 (logger .GetLogger ())
238+ o .EndpointResolverV2 = secretsManagerEndpointResolver
239+ },
240+ secretsmanagerv2 .WithAPIOptions (
241+ awsmetricsv2 .WithMiddlewares (scopeUser .ControllerName (), target ),
242+ awsmetricsv2 .WithCAPAUserAgentMiddleware (),
243+ ),
244+ }
235245
236- return secretsClient
246+ return secretsmanagerv2 . NewFromConfig ( cfg , secretsManagerOpts ... )
237247}
238248
239249// NewEKSClient creates a new EKS API client for a given session.
0 commit comments