private SecretCacheVersion GetVersion()

in src/Amazon.SecretsManager.Extensions.Caching/SecretCacheItem.cs [78:104]


        private SecretCacheVersion GetVersion(DescribeSecretResponse describeResult)
        {
            if (null == describeResult?.VersionIdsToStages) return null;
            String currentVersionId = null;
            foreach (KeyValuePair<String, List<String>> entry in describeResult.VersionIdsToStages)
            {
                if (entry.Value.Contains(config.VersionStage))
                {
                    currentVersionId = entry.Key;
                    break;
                }
            }
            if (currentVersionId != null)
            {
                SecretCacheVersion version = versions.Get<SecretCacheVersion>(currentVersionId);
                if (null == version)
                {
                    version = versions.Set(currentVersionId, new SecretCacheVersion(secretId, currentVersionId, client, config));
                    if (versions.Count > MAX_VERSIONS_CACHE_SIZE)
                    {
                        TrimCacheToSizeLimit();
                    }
                }
                return version;
            }
            return null;
        }