public override void ExecuteCmdlet()
{
Utility.ValidateResourceGroupAndResourceName(null, PrimaryServerName);
Utility.ValidateResourceGroupAndResourceName(null, SecondaryServerName);
RedisResource primaryCache = CacheClient.GetCache(PrimaryServerName);
RedisResource secondaryCache = CacheClient.GetCache(SecondaryServerName);
ConfirmAction(
string.Format(Resources.LinkingRedisCache, SecondaryServerName, PrimaryServerName),
PrimaryServerName,
() =>
{
RedisLinkedServerWithProperties redisLinkedServer = CacheClient.SetLinkedServer(
resourceGroupName: Utility.GetResourceGroupNameFromRedisCacheId(primaryCache.Id),
cacheName: primaryCache.Name,
linkedCacheName: secondaryCache.Name,
linkedCacheId: secondaryCache.Id,
linkedCacheLocation: secondaryCache.Location,
serverRole: ReplicationRole.Secondary);
if (redisLinkedServer == null)
{
throw new CloudException(string.Format(Resources.LinkedServerCreationFailed, SecondaryServerName, PrimaryServerName));
}
WriteObject(new PSRedisLinkedServer(redisLinkedServer));
}
);
}