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 } }