INNER CODE UNIT · Go
AWSGetClusters
kubenav/kubenav · cmd/kubenav/aws.go:61
func AWSGetClusters(accessKeyID, secretKey, region, sessionToken, roleArn string) (_ string, err error) {
defer func() {
if r := recover(); r != nil {
err = fmt.Errorf("panic: %#v", r)
}
}()
ctx := context.Background()
cred := credentials.NewStaticCredentialsProvider(accessKeyID, secretKey, sessionToken)
sess, err := config.LoadDefaultConfig(ctx, config.WithRegion(region), config.WithCredentialsProvider(cred))
if err != nil {
return "", err
}
if roleArn != "" {
stsSvc := sts.NewFromConfig(sess)
creds := stscreds.NewAssumeRoleProvider(stsSvc, roleArn)