func()

in secretcache/cacheItem.go [79:108]


func (ci *secretCacheItem) executeRefresh(ctx context.Context) (*secretsmanager.DescribeSecretOutput, error) {
	input := &secretsmanager.DescribeSecretInput{
		SecretId: &ci.secretId,
	}

	result, err := ci.client.DescribeSecret(ctx, input)

	var maxTTL int64
	if ci.config.CacheItemTTL == 0 {
		maxTTL = DefaultCacheItemTTL
	} else {
		maxTTL = ci.config.CacheItemTTL
	}

	var ttl int64
	if maxTTL < 0 {
		return nil, &InvalidConfigError{
			baseError{
				Message: "cannot set negative ttl on cache",
			},
		}
	} else if maxTTL < 2 {
		ttl = maxTTL
	} else {
		ttl = rand.Int63n(maxTTL/2) + maxTTL/2
	}

	ci.nextRefreshTime = time.Now().Add(time.Nanosecond * time.Duration(ttl)).UnixNano()
	return result, err
}