in secretcache/cacheItem.go [174:200]
func (ci *secretCacheItem) getSecretValue(ctx context.Context, versionStage string) (*secretsmanager.GetSecretValueOutput, error) {
if versionStage == "" && ci.config.VersionStage == "" {
versionStage = DefaultVersionStage
} else if versionStage == "" && ci.config.VersionStage != "" {
versionStage = ci.config.VersionStage
}
ci.mux.Lock()
defer ci.mux.Unlock()
ci.refresh(ctx)
version, ok := ci.getVersion(versionStage)
if !ok {
if ci.err != nil {
return nil, ci.err
} else {
return nil, &VersionNotFoundError{
baseError{
Message: fmt.Sprintf("could not find secret version for versionStage %s", versionStage),
},
}
}
}
return version.getSecretValue(ctx)
}