public RedisResource CreateCache(string resourceGroupName, string cacheName, string location, string skuFamily, int skuCapacity, string skuName, Hashtable redisConfiguration, bool?enableNonSslPort, Hashtable tenantSettings, int?shardCount, string subnetId, string staticIP, IDictionary <string, string> tags = null) { _resourceManagementClient.Providers.Register("Microsoft.Cache"); var parameters = new RedisCreateParameters { Location = location, Sku = new Microsoft.Azure.Management.Redis.Models.Sku { Name = skuName, Family = skuFamily, Capacity = skuCapacity } }; if (tags != null) { parameters.Tags = tags; } if (redisConfiguration != null) { parameters.RedisConfiguration = new Dictionary <string, string>(); foreach (object key in redisConfiguration.Keys) { parameters.RedisConfiguration.Add(key.ToString(), redisConfiguration[key].ToString()); } } if (enableNonSslPort.HasValue) { parameters.EnableNonSslPort = enableNonSslPort.Value; } if (tenantSettings != null) { parameters.TenantSettings = new Dictionary <string, string>(); foreach (object key in tenantSettings.Keys) { parameters.TenantSettings.Add(key.ToString(), tenantSettings[key].ToString()); } } if (shardCount.HasValue) { parameters.ShardCount = shardCount.Value; } if (!string.IsNullOrWhiteSpace(subnetId)) { parameters.SubnetId = subnetId; } if (!string.IsNullOrWhiteSpace(staticIP)) { parameters.StaticIP = staticIP; } RedisResource response = _client.Redis.BeginCreate(resourceGroupName: resourceGroupName, name: cacheName, parameters: parameters); return(response); }
/// <summary> /// Create or replace (overwrite/recreate, with potential downtime) an existing /// Redis cache. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceGroupName'> /// The name of the resource group. /// </param> /// <param name='name'> /// The name of the Redis cache. /// </param> /// <param name='parameters'> /// Parameters supplied to the Create Redis operation. /// </param> public static RedisResource BeginCreate(this IRedisOperations operations, string resourceGroupName, string name, RedisCreateParameters parameters) { return(operations.BeginCreateAsync(resourceGroupName, name, parameters).GetAwaiter().GetResult()); }
/// <summary> /// Create or replace (overwrite/recreate, with potential downtime) an existing /// Redis cache. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceGroupName'> /// The name of the resource group. /// </param> /// <param name='name'> /// The name of the Redis cache. /// </param> /// <param name='parameters'> /// Parameters supplied to the Create Redis operation. /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <RedisResource> BeginCreateAsync(this IRedisOperations operations, string resourceGroupName, string name, RedisCreateParameters parameters, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.BeginCreateWithHttpMessagesAsync(resourceGroupName, name, parameters, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }
public RedisResource CreateCache(string resourceGroupName, string cacheName, string location, string skuFamily, int skuCapacity, string skuName, Hashtable redisConfiguration, bool?enableNonSslPort, Hashtable tenantSettings, int?shardCount, string minimumTlsVersion, string subnetId, string staticIP, Hashtable tags, IList <string> zones, string redisVersion, string identityType, string[] userAssignedIdentities) { try { _resourceManagementClient.Providers.Register("Microsoft.Cache"); } catch { } var parameters = new RedisCreateParameters { Location = location, Sku = new Microsoft.Azure.Management.Redis.Models.Sku { Name = skuName, Family = skuFamily, Capacity = skuCapacity }, RedisVersion = redisVersion }; parameters.Identity = Utility.BuildManagedServiceIdentity(identityType, userAssignedIdentities); if (zones != null && zones.Count != 0) { parameters.Zones = zones; } if (tags != null) { parameters.Tags = new Dictionary <string, string>(); foreach (object key in tags.Keys) { parameters.Tags.Add(key.ToString(), tags[key].ToString()); } } if (redisConfiguration != null) { parameters.RedisConfiguration = new RedisCommonPropertiesRedisConfiguration(additionalProperties: new Dictionary <string, object>()); foreach (object key in redisConfiguration.Keys) { parameters.RedisConfiguration.AdditionalProperties.Add(key.ToString(), redisConfiguration[key].ToString()); } } if (enableNonSslPort.HasValue) { parameters.EnableNonSslPort = enableNonSslPort.Value; } if (tenantSettings != null) { parameters.TenantSettings = new Dictionary <string, string>(); foreach (object key in tenantSettings.Keys) { parameters.TenantSettings.Add(key.ToString(), tenantSettings[key].ToString()); } } if (shardCount.HasValue) { parameters.ShardCount = shardCount.Value; } if (!string.IsNullOrEmpty(minimumTlsVersion)) { parameters.MinimumTlsVersion = minimumTlsVersion; } if (!string.IsNullOrWhiteSpace(subnetId)) { parameters.SubnetId = subnetId; } if (!string.IsNullOrWhiteSpace(staticIP)) { parameters.StaticIP = staticIP; } RedisResource response = _client.Redis.BeginCreate(resourceGroupName: resourceGroupName, name: cacheName, parameters: parameters); return(response); }