Skip to content

Commit 7ec192a

Browse files
updated client.go
Signed-off-by: swatimodi-scout <[email protected]>
1 parent b686d94 commit 7ec192a

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

common/authentication/aws/client.go

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import (
2020

2121
"github.com/aws/aws-sdk-go-v2/aws"
2222
awsv2config "github.com/aws/aws-sdk-go-v2/config"
23+
v2creds "github.com/aws/aws-sdk-go-v2/credentials"
2324
"github.com/aws/aws-sdk-go/aws/credentials"
2425
"github.com/aws/aws-sdk-go/aws/session"
2526
"github.com/aws/aws-sdk-go/service/dynamodb"
@@ -117,9 +118,10 @@ type ParameterStoreClients struct {
117118
}
118119

119120
type KinesisClients struct {
120-
Kinesis kinesisiface.KinesisAPI
121-
Region string
122-
Credentials *credentials.Credentials
121+
Kinesis kinesisiface.KinesisAPI
122+
Region string
123+
Credentials *credentials.Credentials
124+
V2Credentials aws.CredentialsProvider
123125
}
124126

125127
type SesClients struct {
@@ -175,6 +177,10 @@ func (c *KinesisClients) New(session *session.Session) {
175177
c.Kinesis = kinesis.New(session, session.Config)
176178
c.Region = *session.Config.Region
177179
c.Credentials = session.Config.Credentials
180+
// Convert v1 credentials to v2 for KCL usage
181+
if v1Creds, err := session.Config.Credentials.Get(); err == nil {
182+
c.V2Credentials = v2creds.NewStaticCredentialsProvider(v1Creds.AccessKeyID, v1Creds.SecretAccessKey, v1Creds.SessionToken)
183+
}
178184
}
179185

180186
func (c *KinesisClients) Stream(ctx context.Context, streamName string) (*string, error) {
@@ -194,6 +200,11 @@ func (c *KinesisClients) Stream(ctx context.Context, streamName string) (*string
194200
func (c *KinesisClients) WorkerCfg(ctx context.Context, stream, region, mode, applicationName string) *config.KinesisClientLibConfiguration {
195201
const sharedMode = "shared"
196202
if mode == sharedMode {
203+
// Use converted v2 credentials if available
204+
if c.V2Credentials != nil {
205+
return config.NewKinesisClientLibConfigWithCredential(applicationName, stream, region, "", c.V2Credentials)
206+
}
207+
// Fallback to default v2 config if conversion failed
197208
v2Config, err := awsv2config.LoadDefaultConfig(ctx, awsv2config.WithRegion(region))
198209
if err != nil {
199210
return nil

0 commit comments

Comments
 (0)