diff --git a/config/eescfg.go b/config/eescfg.go index 0411884a3..e1cd8f562 100644 --- a/config/eescfg.go +++ b/config/eescfg.go @@ -635,6 +635,70 @@ func (eeOpts *EventExporterOpts) Clone() *EventExporterOpts { cln.ElsWaitForActiveShards = new(string) *cln.ElsWaitForActiveShards = *eeOpts.ElsWaitForActiveShards } + if eeOpts.ElsCAPath != nil { + cln.ElsCAPath = new(string) + *cln.ElsCAPath = *eeOpts.ElsCAPath + } + if eeOpts.ElsDiscoverNodesOnStart != nil { + cln.ElsDiscoverNodesOnStart = new(bool) + *cln.ElsDiscoverNodesOnStart = *eeOpts.ElsDiscoverNodesOnStart + } + if eeOpts.ElsDiscoverNodeInterval != nil { + cln.ElsDiscoverNodeInterval = new(time.Duration) + *cln.ElsDiscoverNodeInterval = *eeOpts.ElsDiscoverNodeInterval + } + if eeOpts.ElsCloud != nil { + cln.ElsCloud = new(bool) + *cln.ElsCloud = *eeOpts.ElsCloud + } + if eeOpts.ElsAPIKey != nil { + cln.ElsAPIKey = new(string) + *cln.ElsAPIKey = *eeOpts.ElsAPIKey + } + if eeOpts.ElsCertificateFingerprint != nil { + cln.ElsCertificateFingerprint = new(string) + *cln.ElsCertificateFingerprint = *eeOpts.ElsCertificateFingerprint + } + if eeOpts.ElsServiceToken != nil { + cln.ElsServiceToken = new(string) + *cln.ElsServiceToken = *eeOpts.ElsServiceToken + } + if eeOpts.ElsUsername != nil { + cln.ElsUsername = new(string) + *cln.ElsUsername = *eeOpts.ElsUsername + } + if eeOpts.ElsPassword != nil { + cln.ElsPassword = new(string) + *cln.ElsPassword = *eeOpts.ElsPassword + } + if eeOpts.ElsEnableDebugLogger != nil { + cln.ElsEnableDebugLogger = new(bool) + *cln.ElsEnableDebugLogger = *eeOpts.ElsEnableDebugLogger + } + if eeOpts.ElsLogger != nil { + cln.ElsLogger = new(string) + *cln.ElsLogger = *eeOpts.ElsLogger + } + if eeOpts.ElsCompressRequestBody != nil { + cln.ElsCompressRequestBody = new(bool) + *cln.ElsCompressRequestBody = *eeOpts.ElsCompressRequestBody + } + if eeOpts.ElsCompressRequestBodyLevel != nil { + cln.ElsCompressRequestBodyLevel = new(int) + *cln.ElsCompressRequestBodyLevel = *eeOpts.ElsCompressRequestBodyLevel + } + if eeOpts.ElsRetryOnStatus != nil { + cln.ElsRetryOnStatus = new([]int) + *cln.ElsRetryOnStatus = *eeOpts.ElsRetryOnStatus + } + if eeOpts.ElsMaxRetries != nil { + cln.ElsMaxRetries = new(int) + *cln.ElsMaxRetries = *eeOpts.ElsMaxRetries + } + if eeOpts.ElsDisableRetry != nil { + cln.ElsDisableRetry = new(bool) + *cln.ElsDisableRetry = *eeOpts.ElsDisableRetry + } if eeOpts.SQLMaxIdleConns != nil { cln.SQLMaxIdleConns = new(int) *cln.SQLMaxIdleConns = *eeOpts.SQLMaxIdleConns @@ -916,6 +980,54 @@ func (optsEes *EventExporterOpts) AsMapInterface() map[string]any { if optsEes.ElsWaitForActiveShards != nil { opts[utils.ElsWaitForActiveShards] = *optsEes.ElsWaitForActiveShards } + if optsEes.ElsCAPath != nil { + opts[utils.ElsCAPath] = *optsEes.ElsCAPath + } + if optsEes.ElsDiscoverNodesOnStart != nil { + opts[utils.ElsDiscoverNodesOnStart] = *optsEes.ElsDiscoverNodesOnStart + } + if optsEes.ElsDiscoverNodeInterval != nil { + opts[utils.ElsDiscoverNodeInterval] = *optsEes.ElsDiscoverNodeInterval + } + if optsEes.ElsCloud != nil { + opts[utils.ElsCloud] = *optsEes.ElsCloud + } + if optsEes.ElsAPIKey != nil { + opts[utils.ElsAPIKey] = *optsEes.ElsAPIKey + } + if optsEes.ElsCertificateFingerprint != nil { + opts[utils.ElsCertificateFingerprint] = *optsEes.ElsCertificateFingerprint + } + if optsEes.ElsServiceToken != nil { + opts[utils.ElsServiceToken] = *optsEes.ElsServiceToken + } + if optsEes.ElsUsername != nil { + opts[utils.ElsUsername] = *optsEes.ElsUsername + } + if optsEes.ElsPassword != nil { + opts[utils.ElsPassword] = *optsEes.ElsPassword + } + if optsEes.ElsEnableDebugLogger != nil { + opts[utils.ElsEnableDebugLogger] = *optsEes.ElsEnableDebugLogger + } + if optsEes.ElsLogger != nil { + opts[utils.ElsLogger] = *optsEes.ElsLogger + } + if optsEes.ElsCompressRequestBody != nil { + opts[utils.ElsCompressRequestBody] = *optsEes.ElsCompressRequestBody + } + if optsEes.ElsCompressRequestBodyLevel != nil { + opts[utils.ElsCompressRequestBodyLevel] = *optsEes.ElsCompressRequestBodyLevel + } + if optsEes.ElsRetryOnStatus != nil { + opts[utils.ElsRetryOnStatus] = *optsEes.ElsRetryOnStatus + } + if optsEes.ElsMaxRetries != nil { + opts[utils.ElsMaxRetries] = *optsEes.ElsMaxRetries + } + if optsEes.ElsDisableRetry != nil { + opts[utils.ElsDisableRetry] = *optsEes.ElsDisableRetry + } if optsEes.SQLMaxIdleConns != nil { opts[utils.SQLMaxIdleConnsCfg] = *optsEes.SQLMaxIdleConns } diff --git a/config/eescfg_test.go b/config/eescfg_test.go index a3cbd35da..43b69b933 100644 --- a/config/eescfg_test.go +++ b/config/eescfg_test.go @@ -1239,6 +1239,7 @@ func TestDiffEventExporterOptsJsonCfg(t *testing.T) { exp := &EventExporterOptsJson{ CSVFieldSeparator: utils.StringPointer(","), ElsIndex: utils.StringPointer("idx1"), + ElsRefresh: utils.StringPointer("true"), ElsOpType: utils.StringPointer("op_type"), ElsPipeline: utils.StringPointer("pipeline"), ElsRouting: utils.StringPointer("routing"), @@ -1426,6 +1427,7 @@ func TestLoadFromJSONCfg(t *testing.T) { eeSJson := &EventExporterOptsJson{ CSVFieldSeparator: utils.StringPointer(","), ElsIndex: utils.StringPointer("idx1"), + ElsRefresh: utils.StringPointer("true"), ElsOpType: utils.StringPointer("op_type"), ElsPipeline: utils.StringPointer("pipeline"), ElsRouting: utils.StringPointer("routing"), @@ -1694,6 +1696,7 @@ func TestEEsAsMapInterface(t *testing.T) { "certPath": "cp", "csvFieldSeparator": ",", "elsIndex": "idx1", + "elsRefresh": "true", "elsOpType": "op_type", "elsPipeline": "pipeline", "elsRouting": "routing", @@ -1865,6 +1868,7 @@ func TestEescfgloadFromJSONCfg(t *testing.T) { ElsMaxRetries: &nm, ElsDisableRetry: &bl, ElsIndex: &str, + ElsRefresh: &str, ElsOpType: &str, ElsPipeline: &str, ElsRouting: &str, diff --git a/utils/consts.go b/utils/consts.go index 4d8a67eaa..25e2cb500 100644 --- a/utils/consts.go +++ b/utils/consts.go @@ -2631,13 +2631,30 @@ 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" ElsColor = "elsColor"