func()

in internal/sharedcredsrotater/rotating_shared_credentials_provider.go [43:57]


func (p *RotatingSharedCredentialsProvider) Retrieve(ctx context.Context) (aws.Credentials, error) {
	sharedConfig, err := config.LoadSharedConfigProfile(ctx, config.DefaultSharedConfigProfile, func(c *config.LoadSharedConfigOptions) {
		c.ConfigFiles = []string{}
		c.CredentialsFiles = p.sharedCredentialsFiles
	})
	if err != nil {
		return aws.Credentials{}, fmt.Errorf("loading shared credentials: %s", err)
	}

	creds := sharedConfig.Credentials
	creds.Source = fmt.Sprintf("%s: %s", rotatingSharedCredentialsProviderName, p.sharedCredentialsFiles)
	creds.CanExpire = true
	creds.Expires = time.Now().Add(p.rotationInterval)
	return creds, nil
}