Skip to content

Commit 986d9aa

Browse files
committed
Update for new v2-style grafana-aws-sdk auth
1 parent f9ce4e4 commit 986d9aa

File tree

4 files changed

+51
-17
lines changed

4 files changed

+51
-17
lines changed

cspell.config.json

+1
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@
116116
"redshiftserverlesstypes",
117117
"redshifttypes",
118118
"secretsmanagertypes",
119+
"awsauth",
119120
"tibdex"
120121
]
121122
}

go.mod

+11-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ require (
99
github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.24.3
1010
github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.34.6
1111
github.com/google/go-cmp v0.7.0
12-
github.com/grafana/grafana-aws-sdk v0.34.0
12+
github.com/grafana/grafana-aws-sdk v0.36.0
1313
github.com/grafana/grafana-plugin-sdk-go v0.274.0
1414
github.com/grafana/sqlds/v4 v4.2.0
1515
github.com/pkg/errors v0.9.1
@@ -21,8 +21,17 @@ require (
2121
github.com/BurntSushi/toml v1.4.0 // indirect
2222
github.com/apache/arrow-go/v18 v18.0.1-0.20241212180703-82be143d7c30 // indirect
2323
github.com/aws/aws-sdk-go v1.55.6 // indirect
24+
github.com/aws/aws-sdk-go-v2/config v1.29.4 // indirect
25+
github.com/aws/aws-sdk-go-v2/credentials v1.17.57 // indirect
26+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.27 // indirect
2427
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.31 // indirect
2528
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.31 // indirect
29+
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.2 // indirect
30+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.2 // indirect
31+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.12 // indirect
32+
github.com/aws/aws-sdk-go-v2/service/sso v1.24.14 // indirect
33+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.13 // indirect
34+
github.com/aws/aws-sdk-go-v2/service/sts v1.33.12 // indirect
2635
github.com/aws/smithy-go v1.22.2 // indirect
2736
github.com/beorn7/perks v1.0.1 // indirect
2837
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
@@ -89,6 +98,7 @@ require (
8998
github.com/prometheus/procfs v0.15.1 // indirect
9099
github.com/rivo/uniseg v0.4.7 // indirect
91100
github.com/russross/blackfriday/v2 v2.1.0 // indirect
101+
github.com/stretchr/objx v0.5.2 // indirect
92102
github.com/unknwon/bra v0.0.0-20200517080246-1e3013ecaff8 // indirect
93103
github.com/unknwon/com v1.0.1 // indirect
94104
github.com/unknwon/log v0.0.0-20200308114134-929b1006e34a // indirect

go.sum

+20-2
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,22 @@ github.com/aws/aws-sdk-go v1.55.6 h1:cSg4pvZ3m8dgYcgqB97MrcdjUmZ1BeMYKUxMMB89IPk
1313
github.com/aws/aws-sdk-go v1.55.6/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU=
1414
github.com/aws/aws-sdk-go-v2 v1.36.1 h1:iTDl5U6oAhkNPba0e1t1hrwAo02ZMqbrGq4k5JBWM5E=
1515
github.com/aws/aws-sdk-go-v2 v1.36.1/go.mod h1:5PMILGVKiW32oDzjj6RU52yrNrDPUHcbZQYr1sM7qmM=
16+
github.com/aws/aws-sdk-go-v2/config v1.29.4 h1:ObNqKsDYFGr2WxnoXKOhCvTlf3HhwtoGgc+KmZ4H5yg=
17+
github.com/aws/aws-sdk-go-v2/config v1.29.4/go.mod h1:j2/AF7j/qxVmsNIChw1tWfsVKOayJoGRDjg1Tgq7NPk=
18+
github.com/aws/aws-sdk-go-v2/credentials v1.17.57 h1:kFQDsbdBAR3GZsB8xA+51ptEnq9TIj3tS4MuP5b+TcQ=
19+
github.com/aws/aws-sdk-go-v2/credentials v1.17.57/go.mod h1:2kerxPUUbTagAr/kkaHiqvj/bcYHzi2qiJS/ZinllU0=
20+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.27 h1:7lOW8NUwE9UZekS1DYoiPdVAqZ6A+LheHWb+mHbNOq8=
21+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.27/go.mod h1:w1BASFIPOPUae7AgaH4SbjNbfdkxuggLyGfNFTn8ITY=
1622
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.31 h1:lWm9ucLSRFiI4dQQafLrEOmEDGry3Swrz0BIRdiHJqQ=
1723
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.31/go.mod h1:Huu6GG0YTfbPphQkDSo4dEGmQRTKb9k9G7RdtyQWxuI=
1824
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.31 h1:ACxDklUKKXb48+eg5ROZXi1vDgfMyfIA/WyvqHcHI0o=
1925
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.31/go.mod h1:yadnfsDwqXeVaohbGc/RaD287PuyRw2wugkh5ZL2J6k=
26+
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.2 h1:Pg9URiobXy85kgFev3og2CuOZ8JZUBENF+dcgWBaYNk=
27+
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.2/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc=
28+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.2 h1:D4oz8/CzT9bAEYtVhSBmFj2dNOtaHOtMKc2vHBwYizA=
29+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.2/go.mod h1:Za3IHqTQ+yNcRHxu1OFucBh0ACZT4j4VQFF0BqpZcLY=
30+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.12 h1:O+8vD2rGjfihBewr5bT+QUfYUHIxCVgG61LHoT59shM=
31+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.12/go.mod h1:usVdWJaosa66NMvmCrr08NcWDBRv4E6+YFG2pUdw1Lk=
2032
github.com/aws/aws-sdk-go-v2/service/redshift v1.52.1 h1:zb5RnnLLNhQ5ttu/M2awKTMFZCSPk/dFkzLg0wRoGEY=
2133
github.com/aws/aws-sdk-go-v2/service/redshift v1.52.1/go.mod h1:wwRCtvNBYB+hYayN6DRc2bnpuHQa1nlbxzl2hG0iiFY=
2234
github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.31.3 h1:TjnbaZH/KmEb05dDFhghgfRkDfPwlW8offp3N038gTQ=
@@ -25,6 +37,12 @@ github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.24.3 h1:kK6hgb+NPtKbV
2537
github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.24.3/go.mod h1:rM2oYKRheMpuxjJ7fkIqoegIVdG4GkdOqRx1PSx9xYs=
2638
github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.34.6 h1:1KDMKvOKNrpD667ORbZ/+4OgvUoaok1gg/MLzrHF9fw=
2739
github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.34.6/go.mod h1:DmtyfCfONhOyVAJ6ZMTrDSFIeyCBlEO93Qkfhxwbxu0=
40+
github.com/aws/aws-sdk-go-v2/service/sso v1.24.14 h1:c5WJ3iHz7rLIgArznb3JCSQT3uUMiz9DLZhIX+1G8ok=
41+
github.com/aws/aws-sdk-go-v2/service/sso v1.24.14/go.mod h1:+JJQTxB6N4niArC14YNtxcQtwEqzS3o9Z32n7q33Rfs=
42+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.13 h1:f1L/JtUkVODD+k1+IiSJUUv8A++2qVr+Xvb3xWXETMU=
43+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.13/go.mod h1:tvqlFoja8/s0o+UruA1Nrezo/df0PzdunMDDurUfg6U=
44+
github.com/aws/aws-sdk-go-v2/service/sts v1.33.12 h1:fqg6c1KVrc3SYWma/egWue5rKI4G2+M4wMQN2JosNAA=
45+
github.com/aws/aws-sdk-go-v2/service/sts v1.33.12/go.mod h1:7Yn+p66q/jt38qMoVfNvjbm3D89mGBnkwDcijgtih8w=
2846
github.com/aws/smithy-go v1.22.2 h1:6D9hW43xKFrRx/tXXfAlIZc4JI+yQe6snnWcQyxSyLQ=
2947
github.com/aws/smithy-go v1.22.2/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg=
3048
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
@@ -92,8 +110,8 @@ github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY=
92110
github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ=
93111
github.com/grafana/dataplane/sdata v0.0.9 h1:AGL1LZnCUG4MnQtnWpBPbQ8ZpptaZs14w6kE/MWfg7s=
94112
github.com/grafana/dataplane/sdata v0.0.9/go.mod h1:Jvs5ddpGmn6vcxT7tCTWAZ1mgi4sbcdFt9utQx5uMAU=
95-
github.com/grafana/grafana-aws-sdk v0.34.0 h1:NzX5NFECFfopc/1tdGL7zBUmTVo0FSJViOa9BiXeIL4=
96-
github.com/grafana/grafana-aws-sdk v0.34.0/go.mod h1:j3vi+cXYHEFqjhBGrI6/lw1TNM+dl0Y3f0cSnDOPy+s=
113+
github.com/grafana/grafana-aws-sdk v0.36.0 h1:k/Eh5/TwVF6x0zxypBMHctqgahIbMVNYDjjfjIGQowM=
114+
github.com/grafana/grafana-aws-sdk v0.36.0/go.mod h1:j3vi+cXYHEFqjhBGrI6/lw1TNM+dl0Y3f0cSnDOPy+s=
97115
github.com/grafana/grafana-plugin-sdk-go v0.274.0 h1:prTs+K4BfKYft89dJZmbUcXRIDtCnKQgnznpItE5ppQ=
98116
github.com/grafana/grafana-plugin-sdk-go v0.274.0/go.mod h1:i/9KH9y/6m5hkRnG3H6aR2nOMPbJUmvo4XNrHjI15cU=
99117
github.com/grafana/otel-profiling-go v0.5.1 h1:stVPKAFZSa7eGiqbYuG25VcqYksR6iWvF3YH66t4qL8=

pkg/redshift/api/api.go

+19-14
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"context"
55
"encoding/json"
66
"fmt"
7+
"github.com/grafana/grafana-aws-sdk/pkg/awsauth"
78
"github.com/grafana/redshift-datasource/pkg/redshift/api/types"
89
"strings"
910

@@ -49,25 +50,29 @@ func New(ctx context.Context, sessionCache *awsds.SessionCache, settings awsMode
4950
return nil, err
5051
}
5152

52-
provider, err := sessionCache.CredentialsProviderV2(ctx, awsds.GetSessionConfig{
53-
Settings: redshiftSettings.AWSDatasourceSettings,
54-
HTTPClient: httpClient,
55-
UserAgentName: aws.String("Redshift"),
56-
})
57-
if err != nil {
58-
return nil, err
59-
}
60-
6153
region := redshiftSettings.Region
62-
if region == "" {
54+
if region == "" || region == "efault" {
6355
region = redshiftSettings.DefaultRegion
6456
}
6557

58+
awsCfg, err := awsauth.NewConfigProvider().GetConfig(ctx, awsauth.Settings{
59+
LegacyAuthType: redshiftSettings.AuthType,
60+
AccessKey: redshiftSettings.AccessKey,
61+
SecretKey: redshiftSettings.SecretKey,
62+
Region: region,
63+
CredentialsProfile: redshiftSettings.Profile,
64+
AssumeRoleARN: redshiftSettings.AssumeRoleARN,
65+
Endpoint: redshiftSettings.Endpoint,
66+
ExternalID: redshiftSettings.ExternalID,
67+
UserAgent: "Redshift",
68+
HTTPClient: httpClient,
69+
})
70+
6671
return &API{
67-
DataClient: redshiftdata.New(redshiftdata.Options{Credentials: provider, Region: region}),
68-
SecretsClient: secretsmanager.New(secretsmanager.Options{Credentials: provider, Region: region}),
69-
ManagementClient: redshift.New(redshift.Options{Credentials: provider, Region: region}),
70-
ServerlessManagementClient: redshiftserverless.New(redshiftserverless.Options{Credentials: provider, Region: region}),
72+
DataClient: redshiftdata.NewFromConfig(awsCfg),
73+
SecretsClient: secretsmanager.NewFromConfig(awsCfg),
74+
ManagementClient: redshift.NewFromConfig(awsCfg),
75+
ServerlessManagementClient: redshiftserverless.NewFromConfig(awsCfg),
7176
settings: redshiftSettings,
7277
}, nil
7378
}

0 commit comments

Comments
 (0)