using System.Configuration;
using Kreta.Core.MessageBroker.Azure.EventHub.Client.Configuration;
using Validators = Kreta.Core.Configuration.Validators;
namespace Kreta.MessageBroker.Configuration
{
public class EventHubClientConfigurationElement : ConfigurationElement, IAzureEventHubClientConfiguration
{
#region [Properties]
///
/// Event hub name
///
[ConfigurationProperty(nameof(Name), IsRequired = true, DefaultValue = Validators.StringValidator.SkipValidationForDefaultValue)]
[Validators.StringValidator(false, MaxLength = Constants.Azure.EventHub.NameMaximumLength)]
public string Name
{
get
{
return (string)this[nameof(Name)];
}
}
///
/// Event hub entity connection string
///
[ConfigurationProperty(nameof(ConnectionString), IsRequired = true, DefaultValue = Validators.StringValidator.SkipValidationForDefaultValue)]
[Validators.StringValidator(false, MaxLength = Constants.Azure.EventHub.ConnectionStringMaximumLength)]
public string ConnectionString
{
get
{
return (string)this[nameof(ConnectionString)];
}
}
///
/// Event hub entity path
///
[ConfigurationProperty(nameof(EntityPath), IsRequired = true, DefaultValue = Validators.StringValidator.SkipValidationForDefaultValue)]
[Validators.StringValidator(false, MaxLength = Constants.Azure.EventHub.EntityPathMaximumLength)]
public string EntityPath
{
get
{
return (string)this[nameof(EntityPath)];
}
}
#endregion
}
}