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);
        }
示例#2
0
 /// <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());
 }
示例#3
0
 /// <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);
        }