From 704980d98e53621837d958749bbf7f436d75e50c Mon Sep 17 00:00:00 2001 From: ionutboangiu Date: Wed, 27 Nov 2024 19:40:25 +0200 Subject: [PATCH] Add missing els clone and AsMapIface logic --- config/eescfg.go | 112 +++++++++++++++++++++++++++++++++++++++++++++++ utils/consts.go | 30 ++++++++++--- 2 files changed, 135 insertions(+), 7 deletions(-) diff --git a/config/eescfg.go b/config/eescfg.go index 7c8ef1943..cb378777e 100644 --- a/config/eescfg.go +++ b/config/eescfg.go @@ -707,6 +707,70 @@ func (elsOpts *ElsOpts) Clone() *ElsOpts { cln.WaitForActiveShards = new(string) *cln.WaitForActiveShards = *elsOpts.WaitForActiveShards } + if elsOpts.CAPath != nil { + cln.CAPath = new(string) + *cln.CAPath = *elsOpts.CAPath + } + if elsOpts.DiscoverNodesOnStart != nil { + cln.DiscoverNodesOnStart = new(bool) + *cln.DiscoverNodesOnStart = *elsOpts.DiscoverNodesOnStart + } + if elsOpts.DiscoverNodeInterval != nil { + cln.DiscoverNodeInterval = new(time.Duration) + *cln.DiscoverNodeInterval = *elsOpts.DiscoverNodeInterval + } + if elsOpts.Cloud != nil { + cln.Cloud = new(bool) + *cln.Cloud = *elsOpts.Cloud + } + if elsOpts.APIKey != nil { + cln.APIKey = new(string) + *cln.APIKey = *elsOpts.APIKey + } + if elsOpts.CertificateFingerprint != nil { + cln.CertificateFingerprint = new(string) + *cln.CertificateFingerprint = *elsOpts.CertificateFingerprint + } + if elsOpts.ServiceToken != nil { + cln.ServiceToken = new(string) + *cln.ServiceToken = *elsOpts.ServiceToken + } + if elsOpts.Username != nil { + cln.Username = new(string) + *cln.Username = *elsOpts.Username + } + if elsOpts.Password != nil { + cln.Password = new(string) + *cln.Password = *elsOpts.Password + } + if elsOpts.EnableDebugLogger != nil { + cln.EnableDebugLogger = new(bool) + *cln.EnableDebugLogger = *elsOpts.EnableDebugLogger + } + if elsOpts.Logger != nil { + cln.Logger = new(string) + *cln.Logger = *elsOpts.Logger + } + if elsOpts.CompressRequestBody != nil { + cln.CompressRequestBody = new(bool) + *cln.CompressRequestBody = *elsOpts.CompressRequestBody + } + if elsOpts.CompressRequestBodyLevel != nil { + cln.CompressRequestBodyLevel = new(int) + *cln.CompressRequestBodyLevel = *elsOpts.CompressRequestBodyLevel + } + if elsOpts.RetryOnStatus != nil { + cln.RetryOnStatus = new([]int) + *cln.RetryOnStatus = *elsOpts.RetryOnStatus + } + if elsOpts.MaxRetries != nil { + cln.MaxRetries = new(int) + *cln.MaxRetries = *elsOpts.MaxRetries + } + if elsOpts.DisableRetry != nil { + cln.DisableRetry = new(bool) + *cln.DisableRetry = *elsOpts.DisableRetry + } return cln } @@ -1014,6 +1078,54 @@ func (eeC *EventExporterCfg) AsMapInterface(separator string) (initialMP map[str if elsOpts.WaitForActiveShards != nil { opts[utils.ElsWaitForActiveShards] = *elsOpts.WaitForActiveShards } + if elsOpts.CAPath != nil { + opts[utils.ElsCAPath] = *elsOpts.CAPath + } + if elsOpts.DiscoverNodesOnStart != nil { + opts[utils.ElsDiscoverNodesOnStart] = *elsOpts.DiscoverNodesOnStart + } + if elsOpts.DiscoverNodeInterval != nil { + opts[utils.ElsDiscoverNodeInterval] = *elsOpts.DiscoverNodeInterval + } + if elsOpts.Cloud != nil { + opts[utils.ElsCloud] = *elsOpts.Cloud + } + if elsOpts.APIKey != nil { + opts[utils.ElsAPIKey] = *elsOpts.APIKey + } + if elsOpts.CertificateFingerprint != nil { + opts[utils.ElsCertificateFingerprint] = *elsOpts.CertificateFingerprint + } + if elsOpts.ServiceToken != nil { + opts[utils.ElsServiceToken] = *elsOpts.ServiceToken + } + if elsOpts.Username != nil { + opts[utils.ElsUsername] = *elsOpts.Username + } + if elsOpts.Password != nil { + opts[utils.ElsPassword] = *elsOpts.Password + } + if elsOpts.EnableDebugLogger != nil { + opts[utils.ElsEnableDebugLogger] = *elsOpts.EnableDebugLogger + } + if elsOpts.Logger != nil { + opts[utils.ElsLogger] = *elsOpts.Logger + } + if elsOpts.CompressRequestBody != nil { + opts[utils.ElsCompressRequestBody] = *elsOpts.CompressRequestBody + } + if elsOpts.CompressRequestBodyLevel != nil { + opts[utils.ElsCompressRequestBodyLevel] = *elsOpts.CompressRequestBodyLevel + } + if elsOpts.RetryOnStatus != nil { + opts[utils.ElsRetryOnStatus] = *elsOpts.RetryOnStatus + } + if elsOpts.MaxRetries != nil { + opts[utils.ElsMaxRetries] = *elsOpts.MaxRetries + } + if elsOpts.DisableRetry != nil { + opts[utils.ElsDisableRetry] = *elsOpts.DisableRetry + } } if sqlOpts := eeC.Opts.SQL; sqlOpts != nil { if sqlOpts.MaxIdleConns != nil { diff --git a/utils/consts.go b/utils/consts.go index 8700c57c5..e4d4e9b0c 100644 --- a/utils/consts.go +++ b/utils/consts.go @@ -2855,13 +2855,29 @@ const ( PartialCSVFieldSepartorOpt = "partialcsvFieldSeparator" // EEs Elasticsearch options - ElsIndex = "elsIndex" - ElsRefresh = "elsRefresh" - ElsOpType = "elsOpType" - ElsPipeline = "elsPipeline" - ElsRouting = "elsRouting" - ElsTimeout = "elsTimeout" - ElsWaitForActiveShards = "elsWaitForActiveShards" + ElsIndex = "elsIndex" + ElsRefresh = "elsRefresh" + ElsOpType = "elsOpType" + ElsPipeline = "elsPipeline" + ElsRouting = "elsRouting" + ElsTimeout = "elsTimeout" + ElsWaitForActiveShards = "elsWaitForActiveShards" + ElsCAPath = "elsCAPath" + ElsDiscoverNodesOnStart = "elsDiscoverNodesOnStart" + ElsDiscoverNodeInterval = "elsDiscoverNodeInterval" + ElsCloud = "elsCloud" + ElsAPIKey = "elsAPIKey" + ElsCertificateFingerprint = "elsCertificateFingerprint" + ElsServiceToken = "elsServiceToken" + ElsUsername = "elsUsername" + ElsPassword = "elsPassword" + ElsEnableDebugLogger = "elsEnableDebugLogger" + ElsLogger = "elsLogger" + ElsCompressRequestBody = "elsCompressRequestBody" + ElsCompressRequestBodyLevel = "elsCompressRequestBodyLevel" + ElsRetryOnStatus = "elsRetryOnStatus" + ElsMaxRetries = "elsMaxRetries" + ElsDisableRetry = "elsDisableRetry" //EES ElasticSearch Logger Options ElsJson = "elsJson"