public static async Task <Result <(IRedisCache Cache, RedisClusterSize Size)> > GenerateInstanceMetadataAsync(IAzure azure, string resourceId, CancellationToken cancellationToken = default) { // TODO: error handling var redisCache = await azure.RedisCaches.GetByIdAsync(resourceId, cancellationToken); var clusterSize = RedisClusterSize.FromAzureCache(redisCache).ThrowIfFailure(); Contract.AssertNotNull(clusterSize); return(new Result <(IRedisCache Cache, RedisClusterSize Size)>((redisCache, clusterSize))); }
public static Result <IRedisInstance> FromPreloaded(IAzure azure, IRedisCache redisCache, bool readOnly) { return(RedisClusterSize .FromAzureCache(redisCache) .Select(clusterSize => { if (readOnly) { return (IRedisInstance) new ReadOnlyRedisInstance(azure, redisCache.Id, redisCache, clusterSize); } else { return (IRedisInstance) new RedisInstance(azure, redisCache.Id, redisCache, clusterSize); } })); }
public static Result <RedisInstance> FromPreloaded(IAzure azure, IRedisCache redisCache) { return(RedisClusterSize .FromAzureCache(redisCache) .Select(clusterSize => new RedisInstance(azure, redisCache.Id, redisCache, clusterSize))); }