in secretcache/cache.go [38:72]
func New(optFns ...func(*Cache)) (*Cache, error) {
cache := &Cache{
//Initialise default configuration
CacheConfig: CacheConfig{
MaxCacheSize: DefaultMaxCacheSize,
VersionStage: DefaultVersionStage,
CacheItemTTL: DefaultCacheItemTTL,
},
}
// Iterate over options allowing user to specify alternate
// configurations.
for _, optFn := range optFns {
optFn(cache)
}
//Initialise lru cache
cache.lru = newLRUCache(cache.MaxCacheSize)
//Initialise the secrets manager client
if cache.Client == nil {
cfg, err := config.LoadDefaultConfig(context.Background(), config.WithAPIOptions([]func(*smithymiddleware.Stack) error{
middleware.AddUserAgentKey(userAgent()),
}))
if err != nil {
return nil, err
}
cache.Client = secretsmanager.NewFromConfig(cfg)
}
return cache, nil
}