Documentation ¶
Index ¶
- func GetBoolPropertyFn(value bool) func(opts ...FilterOption) bool
- func GetBoolPropertyFnFilteredByDomain(value bool) func(domain string) bool
- func GetDurationPropertyFn(value time.Duration) func(opts ...FilterOption) time.Duration
- func GetDurationPropertyFnFilteredByTaskListInfo(value time.Duration) func(domain string, taskList string, taskType int) time.Duration
- func GetFloatPropertyFn(value float64) func(opts ...FilterOption) float64
- func GetIntPropertyFilteredByDomain(value int) func(domain string) int
- func GetIntPropertyFilteredByTaskListInfo(value int) func(domain string, taskList string, taskType int) int
- func GetIntPropertyFn(value int) func(opts ...FilterOption) int
- func GetStringPropertyFn(value string) func(opts ...FilterOption) string
- type BoolPropertyFn
- type BoolPropertyFnWithDomainFilter
- type BoolPropertyFnWithTaskListInfoFilters
- type Client
- type Collection
- func (c *Collection) GetBoolProperty(key Key, defaultValue bool) BoolPropertyFn
- func (c *Collection) GetBoolPropertyFilteredByTaskListInfo(key Key, defaultValue bool) BoolPropertyFnWithTaskListInfoFilters
- func (c *Collection) GetBoolPropertyFnWithDomainFilter(key Key, defaultValue bool) BoolPropertyFnWithDomainFilter
- func (c *Collection) GetDurationProperty(key Key, defaultValue time.Duration) DurationPropertyFn
- func (c *Collection) GetDurationPropertyFilteredByDomain(key Key, defaultValue time.Duration) DurationPropertyFnWithDomainFilter
- func (c *Collection) GetDurationPropertyFilteredByTaskListInfo(key Key, defaultValue time.Duration) DurationPropertyFnWithTaskListInfoFilters
- func (c *Collection) GetFloat64Property(key Key, defaultValue float64) FloatPropertyFn
- func (c *Collection) GetIntProperty(key Key, defaultValue int) IntPropertyFn
- func (c *Collection) GetIntPropertyFilteredByDomain(key Key, defaultValue int) IntPropertyFnWithDomainFilter
- func (c *Collection) GetIntPropertyFilteredByTaskListInfo(key Key, defaultValue int) IntPropertyFnWithTaskListInfoFilters
- func (c *Collection) GetProperty(key Key, defaultValue interface{}) PropertyFn
- func (c *Collection) GetStringProperty(key Key, defaultValue string) StringPropertyFn
- func (c *Collection) GetStringPropertyFnWithDomainFilter(key Key, defaultValue string) StringPropertyFnWithDomainFilter
- type DurationPropertyFn
- type DurationPropertyFnWithDomainFilter
- type DurationPropertyFnWithTaskListInfoFilters
- type Filter
- type FilterOption
- type FloatPropertyFn
- type IntPropertyFn
- type IntPropertyFnWithDomainFilter
- type IntPropertyFnWithTaskListInfoFilters
- type Key
- type PropertyFn
- type StringPropertyFn
- type StringPropertyFnWithDomainFilter
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetBoolPropertyFn ¶ added in v0.3.14
func GetBoolPropertyFn(value bool) func(opts ...FilterOption) bool
GetBoolPropertyFn returns value as BoolPropertyFn
func GetBoolPropertyFnFilteredByDomain ¶ added in v0.5.0
GetBoolPropertyFnFilteredByDomain returns value as BoolPropertyFnWithDomainFilters
func GetDurationPropertyFn ¶ added in v0.3.14
func GetDurationPropertyFn(value time.Duration) func(opts ...FilterOption) time.Duration
GetDurationPropertyFn returns value as DurationPropertyFn
func GetDurationPropertyFnFilteredByTaskListInfo ¶ added in v0.3.14
func GetDurationPropertyFnFilteredByTaskListInfo(value time.Duration) func(domain string, taskList string, taskType int) time.Duration
GetDurationPropertyFnFilteredByTaskListInfo returns value as DurationPropertyFnWithTaskListInfoFilters
func GetFloatPropertyFn ¶ added in v0.3.14
func GetFloatPropertyFn(value float64) func(opts ...FilterOption) float64
GetFloatPropertyFn returns value as FloatPropertyFn
func GetIntPropertyFilteredByDomain ¶ added in v0.4.0
GetIntPropertyFilteredByDomain returns values as IntPropertyFnWithDomainFilters
func GetIntPropertyFilteredByTaskListInfo ¶ added in v0.3.14
func GetIntPropertyFilteredByTaskListInfo(value int) func(domain string, taskList string, taskType int) int
GetIntPropertyFilteredByTaskListInfo returns value as IntPropertyFnWithTaskListInfoFilters
func GetIntPropertyFn ¶ added in v0.3.14
func GetIntPropertyFn(value int) func(opts ...FilterOption) int
GetIntPropertyFn returns value as IntPropertyFn
func GetStringPropertyFn ¶ added in v0.5.4
func GetStringPropertyFn(value string) func(opts ...FilterOption) string
GetStringPropertyFn returns value as StringPropertyFn
Types ¶
type BoolPropertyFn ¶
type BoolPropertyFn func(opts ...FilterOption) bool
BoolPropertyFn is a wrapper to get bool property from dynamic config
type BoolPropertyFnWithDomainFilter ¶ added in v0.5.0
BoolPropertyFnWithDomainFilter is a wrapper to get string property from dynamic config
type BoolPropertyFnWithTaskListInfoFilters ¶ added in v0.3.14
BoolPropertyFnWithTaskListInfoFilters is a wrapper to get bool property from dynamic config with three filters: domain, taskList, taskType
type Client ¶
type Client interface { GetValue(name Key, defaultValue interface{}) (interface{}, error) GetValueWithFilters(name Key, filters map[Filter]interface{}, defaultValue interface{}) (interface{}, error) GetIntValue(name Key, filters map[Filter]interface{}, defaultValue int) (int, error) GetFloatValue(name Key, filters map[Filter]interface{}, defaultValue float64) (float64, error) GetBoolValue(name Key, filters map[Filter]interface{}, defaultValue bool) (bool, error) GetStringValue(name Key, filters map[Filter]interface{}, defaultValue string) (string, error) GetMapValue( name Key, filters map[Filter]interface{}, defaultValue map[string]interface{}, ) (map[string]interface{}, error) GetDurationValue( name Key, filters map[Filter]interface{}, defaultValue time.Duration, ) (time.Duration, error) }
Client allows fetching values from a dynamic configuration system NOTE: This does not have async options right now. In the interest of keeping it minimal, we can add when requirement arises.
type Collection ¶
type Collection struct {
// contains filtered or unexported fields
}
Collection wraps dynamic config client with a closure so that across the code, the config values can be directly accessed by calling the function without propagating the client everywhere in code
func NewCollection ¶
func NewCollection(client Client, logger bark.Logger) *Collection
NewCollection creates a new collection
func NewNopCollection ¶
func NewNopCollection() *Collection
NewNopCollection creates a new nop collection
func (*Collection) GetBoolProperty ¶
func (c *Collection) GetBoolProperty(key Key, defaultValue bool) BoolPropertyFn
GetBoolProperty gets property and asserts that it's an bool
func (*Collection) GetBoolPropertyFilteredByTaskListInfo ¶ added in v0.3.14
func (c *Collection) GetBoolPropertyFilteredByTaskListInfo(key Key, defaultValue bool) BoolPropertyFnWithTaskListInfoFilters
GetBoolPropertyFilteredByTaskListInfo gets property with taskListInfo as filters and asserts that it's an bool
func (*Collection) GetBoolPropertyFnWithDomainFilter ¶ added in v0.5.0
func (c *Collection) GetBoolPropertyFnWithDomainFilter(key Key, defaultValue bool) BoolPropertyFnWithDomainFilter
GetBoolPropertyFnWithDomainFilter gets property with domain filter and asserts that its domain
func (*Collection) GetDurationProperty ¶
func (c *Collection) GetDurationProperty(key Key, defaultValue time.Duration) DurationPropertyFn
GetDurationProperty gets property and asserts that it's a duration
func (*Collection) GetDurationPropertyFilteredByDomain ¶ added in v0.3.14
func (c *Collection) GetDurationPropertyFilteredByDomain(key Key, defaultValue time.Duration) DurationPropertyFnWithDomainFilter
GetDurationPropertyFilteredByDomain gets property with domain filter and asserts that it's a duration
func (*Collection) GetDurationPropertyFilteredByTaskListInfo ¶ added in v0.3.14
func (c *Collection) GetDurationPropertyFilteredByTaskListInfo(key Key, defaultValue time.Duration) DurationPropertyFnWithTaskListInfoFilters
GetDurationPropertyFilteredByTaskListInfo gets property with taskListInfo as filters and asserts that it's a duration
func (*Collection) GetFloat64Property ¶
func (c *Collection) GetFloat64Property(key Key, defaultValue float64) FloatPropertyFn
GetFloat64Property gets property and asserts that it's a float64
func (*Collection) GetIntProperty ¶
func (c *Collection) GetIntProperty(key Key, defaultValue int) IntPropertyFn
GetIntProperty gets property and asserts that it's an integer
func (*Collection) GetIntPropertyFilteredByDomain ¶ added in v0.3.14
func (c *Collection) GetIntPropertyFilteredByDomain(key Key, defaultValue int) IntPropertyFnWithDomainFilter
GetIntPropertyFilteredByDomain gets property with domain filter and asserts that it's an integer
func (*Collection) GetIntPropertyFilteredByTaskListInfo ¶ added in v0.3.14
func (c *Collection) GetIntPropertyFilteredByTaskListInfo(key Key, defaultValue int) IntPropertyFnWithTaskListInfoFilters
GetIntPropertyFilteredByTaskListInfo gets property with taskListInfo as filters and asserts that it's an integer
func (*Collection) GetProperty ¶
func (c *Collection) GetProperty(key Key, defaultValue interface{}) PropertyFn
GetProperty gets a interface property and returns defaultValue if property is not found
func (*Collection) GetStringProperty ¶ added in v0.4.0
func (c *Collection) GetStringProperty(key Key, defaultValue string) StringPropertyFn
GetStringProperty gets property and asserts that it's an string
func (*Collection) GetStringPropertyFnWithDomainFilter ¶ added in v0.4.0
func (c *Collection) GetStringPropertyFnWithDomainFilter(key Key, defaultValue string) StringPropertyFnWithDomainFilter
GetStringPropertyFnWithDomainFilter gets property with domain filter and asserts that its domain
type DurationPropertyFn ¶
type DurationPropertyFn func(opts ...FilterOption) time.Duration
DurationPropertyFn is a wrapper to get duration property from dynamic config
type DurationPropertyFnWithDomainFilter ¶ added in v0.3.14
DurationPropertyFnWithDomainFilter is a wrapper to get duration property from dynamic config with domain as filter
type DurationPropertyFnWithTaskListInfoFilters ¶ added in v0.3.14
type DurationPropertyFnWithTaskListInfoFilters func(domain string, taskList string, taskType int) time.Duration
DurationPropertyFnWithTaskListInfoFilters is a wrapper to get duration property from dynamic config with three filters: domain, taskList, taskType
type Filter ¶
type Filter int
Filter represents a filter on the dynamic config key
const ( // DomainName is the domain name DomainName Filter // TaskListName is the tasklist name TaskListName // TaskType is the task type (0:Decision, 1:Activity) TaskType )
type FilterOption ¶
type FilterOption func(filterMap map[Filter]interface{})
FilterOption is used to provide filters for dynamic config keys
func TaskListFilter ¶
func TaskListFilter(name string) FilterOption
TaskListFilter filters by task list name
func TaskTypeFilter ¶ added in v0.3.14
func TaskTypeFilter(taskType int) FilterOption
TaskTypeFilter filters by task type
type FloatPropertyFn ¶
type FloatPropertyFn func(opts ...FilterOption) float64
FloatPropertyFn is a wrapper to get float property from dynamic config
type IntPropertyFn ¶
type IntPropertyFn func(opts ...FilterOption) int
IntPropertyFn is a wrapper to get int property from dynamic config
type IntPropertyFnWithDomainFilter ¶ added in v0.3.14
IntPropertyFnWithDomainFilter is a wrapper to get int property from dynamic config with domain as filter
type IntPropertyFnWithTaskListInfoFilters ¶ added in v0.3.14
IntPropertyFnWithTaskListInfoFilters is a wrapper to get int property from dynamic config with three filters: domain, taskList, taskType
type Key ¶
type Key int
Key represents a key/property stored in dynamic config
const ( // EnableGlobalDomain is key for enable global domain EnableGlobalDomain Key // EnableNewKafkaClient is key for using New Kafka client EnableNewKafkaClient // EnableVisibilitySampling is key for enable visibility sampling EnableVisibilitySampling // EnableReadFromClosedExecutionV2 is key for enable read from cadence_visibility.closed_executions_v2 EnableReadFromClosedExecutionV2 // EnableVisibilityToKafka is key for enable kafka EnableVisibilityToKafka // EmitShardDiffLog whether emit the shard diff log EmitShardDiffLog // EnableReadVisibilityFromES is key for enable read from elastic search EnableReadVisibilityFromES // DisableListVisibilityByFilter is config to disable list open/close workflow using filter DisableListVisibilityByFilter // ArchivalStatus is key for the status of archival ArchivalStatus // BlobSizeLimitError is the per event blob size limit BlobSizeLimitError // BlobSizeLimitWarn is the per event blob size limit for warning BlobSizeLimitWarn // HistorySizeLimitError is the per workflow execution history size limit HistorySizeLimitError // HistorySizeLimitWarn is the per workflow execution history size limit for warning HistorySizeLimitWarn // HistoryCountLimitError is the per workflow execution history event count limit HistoryCountLimitError // HistoryCountLimitWarn is the per workflow execution history event count limit for warning HistoryCountLimitWarn // MaxIDLengthLimit is the length limit for various IDs, including: Domain, TaskList, WorkflowID, ActivityID, TimerID, // WorkflowType, ActivityType, SignalName, MarkerName, ErrorReason/FailureReason/CancelCause, Identity, RequestID MaxIDLengthLimit // FrontendPersistenceMaxQPS is the max qps frontend host can query DB FrontendPersistenceMaxQPS // FrontendVisibilityMaxPageSize is default max size for ListWorkflowExecutions in one page FrontendVisibilityMaxPageSize // FrontendVisibilityListMaxQPS is max qps frontend can list open/close workflows FrontendVisibilityListMaxQPS // FrontendESVisibilityListMaxQPS is max qps frontend can list open/close workflows from ElasticSearch FrontendESVisibilityListMaxQPS // FrontendHistoryMaxPageSize is default max size for GetWorkflowExecutionHistory in one page FrontendHistoryMaxPageSize // FrontendRPS is workflow rate limit per second FrontendRPS // FrontendHistoryMgrNumConns is for persistence cluster.NumConns FrontendHistoryMgrNumConns // MaxDecisionStartToCloseTimeout is max decision timeout in seconds MaxDecisionStartToCloseTimeout // MatchingRPS is request rate per second for each matching host MatchingRPS // MatchingPersistenceMaxQPS is the max qps matching host can query DB MatchingPersistenceMaxQPS // MatchingMinTaskThrottlingBurstSize is the minimum burst size for task list throttling MatchingMinTaskThrottlingBurstSize // MatchingGetTasksBatchSize is the maximum batch size to fetch from the task buffer MatchingGetTasksBatchSize // MatchingLongPollExpirationInterval is the long poll expiration interval in the matching service MatchingLongPollExpirationInterval // MatchingEnableSyncMatch is to enable sync match MatchingEnableSyncMatch // MatchingUpdateAckInterval is the interval for update ack MatchingUpdateAckInterval // MatchingIdleTasklistCheckInterval is the IdleTasklistCheckInterval MatchingIdleTasklistCheckInterval // MaxTasklistIdleTime is the max time tasklist being idle MaxTasklistIdleTime // MatchingOutstandingTaskAppendsThreshold is the threshold for outstanding task appends MatchingOutstandingTaskAppendsThreshold // MatchingMaxTaskBatchSize is max batch size for task writer MatchingMaxTaskBatchSize // HistoryRPS is request rate per second for each history host HistoryRPS // HistoryPersistenceMaxQPS is the max qps history host can query DB HistoryPersistenceMaxQPS // HistoryVisibilityOpenMaxQPS is max qps one history host can write visibility open_executions HistoryVisibilityOpenMaxQPS // HistoryVisibilityClosedMaxQPS is max qps one history host can write visibility closed_executions HistoryVisibilityClosedMaxQPS // HistoryLongPollExpirationInterval is the long poll expiration interval in the history service HistoryLongPollExpirationInterval // HistoryCacheInitialSize is initial size of history cache HistoryCacheInitialSize // HistoryCacheMaxSize is max size of history cache HistoryCacheMaxSize // HistoryCacheTTL is TTL of history cache HistoryCacheTTL // EventsCacheInitialSize is initial size of events cache EventsCacheInitialSize // EventsCacheMaxSize is max size of events cache EventsCacheMaxSize // EventsCacheTTL is TTL of events cache EventsCacheTTL // AcquireShardInterval is interval that timer used to acquire shard AcquireShardInterval // StandbyClusterDelay is the atrificial delay added to standby cluster's view of active cluster's time StandbyClusterDelay // TimerTaskBatchSize is batch size for timer processor to process tasks TimerTaskBatchSize // TimerTaskWorkerCount is number of task workers for timer processor TimerTaskWorkerCount // TimerTaskMaxRetryCount is max retry count for timer processor TimerTaskMaxRetryCount // TimerProcessorStartDelay is the start delay TimerProcessorStartDelay // TimerProcessorFailoverStartDelay is the failover start delay TimerProcessorFailoverStartDelay // TimerProcessorGetFailureRetryCount is retry count for timer processor get failure operation TimerProcessorGetFailureRetryCount // TimerProcessorCompleteTimerFailureRetryCount is retry count for timer processor complete timer operation TimerProcessorCompleteTimerFailureRetryCount // TimerProcessorUpdateShardTaskCount is update shard count for timer processor TimerProcessorUpdateShardTaskCount // TimerProcessorUpdateAckInterval is update interval for timer processor TimerProcessorUpdateAckInterval // TimerProcessorUpdateAckIntervalJitterCoefficient is the update interval jitter coefficient TimerProcessorUpdateAckIntervalJitterCoefficient // TimerProcessorCompleteTimerInterval is complete timer interval for timer processor TimerProcessorCompleteTimerInterval // TimerProcessorFailoverMaxPollRPS is max poll rate per second for timer processor TimerProcessorFailoverMaxPollRPS // TimerProcessorMaxPollRPS is max poll rate per second for timer processor TimerProcessorMaxPollRPS // TimerProcessorMaxPollInterval is max poll interval for timer processor TimerProcessorMaxPollInterval // TimerProcessorMaxPollIntervalJitterCoefficient is the max poll interval jitter coefficient TimerProcessorMaxPollIntervalJitterCoefficient // TimerProcessorMaxTimeShift is the max shift timer processor can have TimerProcessorMaxTimeShift // TransferTaskBatchSize is batch size for transferQueueProcessor TransferTaskBatchSize // TransferProcessorFailoverMaxPollRPS is max poll rate per second for transferQueueProcessor TransferProcessorFailoverMaxPollRPS // TransferProcessorMaxPollRPS is max poll rate per second for transferQueueProcessor TransferProcessorMaxPollRPS // TransferTaskWorkerCount is number of worker for transferQueueProcessor TransferTaskWorkerCount // TransferTaskMaxRetryCount is max times of retry for transferQueueProcessor TransferTaskMaxRetryCount // TransferProcessorStartDelay is the start delay TransferProcessorStartDelay // TransferProcessorFailoverStartDelay is the failover start delay TransferProcessorFailoverStartDelay // TransferProcessorCompleteTransferFailureRetryCount is times of retry for failure TransferProcessorCompleteTransferFailureRetryCount // TransferProcessorUpdateShardTaskCount is update shard count for transferQueueProcessor TransferProcessorUpdateShardTaskCount // TransferProcessorMaxPollInterval max poll interval for transferQueueProcessor TransferProcessorMaxPollInterval // TransferProcessorMaxPollIntervalJitterCoefficient is the max poll interval jitter coefficient TransferProcessorMaxPollIntervalJitterCoefficient // TransferProcessorUpdateAckInterval is update interval for transferQueueProcessor TransferProcessorUpdateAckInterval // TransferProcessorUpdateAckIntervalJitterCoefficient is the update interval jitter coefficient TransferProcessorUpdateAckIntervalJitterCoefficient // TransferProcessorCompleteTransferInterval is complete timer interval for transferQueueProcessor TransferProcessorCompleteTransferInterval // ReplicatorTaskBatchSize is batch size for ReplicatorProcessor ReplicatorTaskBatchSize // ReplicatorTaskWorkerCount is number of worker for ReplicatorProcessor ReplicatorTaskWorkerCount // ReplicatorTaskMaxRetryCount is max times of retry for ReplicatorProcessor ReplicatorTaskMaxRetryCount // ReplicatorProcessorStartDelay is the start delay ReplicatorProcessorStartDelay // ReplicatorProcessorMaxPollRPS is max poll rate per second for ReplicatorProcessor ReplicatorProcessorMaxPollRPS // ReplicatorProcessorUpdateShardTaskCount is update shard count for ReplicatorProcessor ReplicatorProcessorUpdateShardTaskCount // ReplicatorProcessorMaxPollInterval is max poll interval for ReplicatorProcessor ReplicatorProcessorMaxPollInterval // ReplicatorProcessorMaxPollIntervalJitterCoefficient is the max poll interval jitter coefficient ReplicatorProcessorMaxPollIntervalJitterCoefficient // ReplicatorProcessorUpdateAckInterval is update interval for ReplicatorProcessor ReplicatorProcessorUpdateAckInterval // ReplicatorProcessorUpdateAckIntervalJitterCoefficient is the update interval jitter coefficient ReplicatorProcessorUpdateAckIntervalJitterCoefficient // ExecutionMgrNumConns is persistence connections number for ExecutionManager ExecutionMgrNumConns // HistoryMgrNumConns is persistence connections number for HistoryManager HistoryMgrNumConns // MaximumBufferedEventsBatch is max number of buffer event in mutable state MaximumBufferedEventsBatch // MaximumSignalsPerExecution is max number of signals supported by single execution MaximumSignalsPerExecution // ShardUpdateMinInterval is the minimal time interval which the shard info can be updated ShardUpdateMinInterval // ShardSyncMinInterval is the minimal time interval which the shard info should be sync to remote ShardSyncMinInterval // DefaultEventEncoding is the encoding type for history events DefaultEventEncoding // NumArchiveSystemWorkflows is key for number of archive system workflows running in total NumArchiveSystemWorkflows // EnableAdminProtection is whether to enable admin checking EnableAdminProtection // AdminOperationToken is the token to pass admin checking AdminOperationToken // EnableEventsV2 is whether to use eventsV2 EnableEventsV2 // WorkerPersistenceMaxQPS is the max qps worker host can query DB WorkerPersistenceMaxQPS // WorkerReplicatorConcurrency is the max concurrent tasks to be processed at any given time WorkerReplicatorConcurrency // WorkerReplicatorActivityBufferRetryCount is the retry attempt when encounter retry error on activity WorkerReplicatorActivityBufferRetryCount // WorkerReplicatorHistoryBufferRetryCount is the retry attempt when encounter retry error on history WorkerReplicatorHistoryBufferRetryCount // WorkerReplicationTaskMaxRetry is the max retry for any task WorkerReplicationTaskMaxRetry // WorkerIndexerConcurrency is the max concurrent messages to be processed at any given time WorkerIndexerConcurrency // WorkerESProcessorNumOfWorkers is num of workers for esProcessor WorkerESProcessorNumOfWorkers // WorkerESProcessorBulkActions is max number of requests in bulk for esProcessor WorkerESProcessorBulkActions // WorkerESProcessorBulkSize is max total size of bulk in bytes for esProcessor WorkerESProcessorBulkSize // WorkerESProcessorFlushInterval is flush interval for esProcessor WorkerESProcessorFlushInterval // EnableArchivalCompression indicates whether blobs are compressed before they are archived EnableArchivalCompression // WorkerHistoryPageSize indicates the page size of history fetched from persistence for archival WorkerHistoryPageSize // WorkerTargetArchivalBlobSize indicates the target blob size in bytes for archival, actual blob size may vary WorkerTargetArchivalBlobSize )
type PropertyFn ¶
type PropertyFn func() interface{}
PropertyFn is a wrapper to get property from dynamic config
type StringPropertyFn ¶ added in v0.4.0
type StringPropertyFn func(opts ...FilterOption) string
StringPropertyFn is a wrapper to get string property from dynamic config
type StringPropertyFnWithDomainFilter ¶ added in v0.4.0
StringPropertyFnWithDomainFilter is a wrapper to get string property from dynamic config