| 95 | } |
| 96 | |
| 97 | func newAWSBeforeConnect(authConfig *awsConfig, tokenProvider awsTokenProvider) func(context.Context, *pgx.ConnConfig) error { |
| 98 | return func(ctx context.Context, connConfig *pgx.ConnConfig) error { |
| 99 | token, err := tokenProvider.BuildAuthToken(ctx, authConfig.endpoint, authConfig.region, authConfig.user) |
| 100 | if err != nil { |
| 101 | return errors.Wrapf(err, "failed to build metadata database AWS RDS IAM auth token for endpoint %q, region %q, user %q", authConfig.endpoint, authConfig.region, authConfig.user) |
| 102 | } |
| 103 | connConfig.Password = token |
| 104 | return nil |
| 105 | } |
| 106 | } |
| 107 | |
| 108 | func awsOpenOptions(authConfig *awsConfig, tokenProvider awsTokenProvider) []stdlib.OptionOpenDB { |
| 109 | if authConfig == nil || !authConfig.enabled { |