From 8770ac5e6560f9109f82f7ea67d42a476ee16261 Mon Sep 17 00:00:00 2001 From: Wangjunqi123 Date: Thu, 6 Jun 2024 13:44:49 +0800 Subject: [PATCH] elk/kibanaclient(v7): generate package inputs from package info --- elk/kibanaClient/7_17_16/client.go | 46 ++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/elk/kibanaClient/7_17_16/client.go b/elk/kibanaClient/7_17_16/client.go index 8a62f71b..b109b62e 100644 --- a/elk/kibanaClient/7_17_16/client.go +++ b/elk/kibanaClient/7_17_16/client.go @@ -6,6 +6,7 @@ import ( "gitee.com/openeuler/PilotGo-plugin-elk/conf" "gitee.com/openeuler/PilotGo-plugin-elk/errormanager" + "gitee.com/openeuler/PilotGo-plugin-elk/kibanaClient/7_17_16/meta" "gitee.com/openeuler/PilotGo-plugin-elk/pluginclient" "github.com/elastic/elastic-agent-libs/kibana" ) @@ -37,3 +38,48 @@ func InitKibanaClient() { Ctx: context.Background(), } } + +func (client *KibanaClient_v7) pkgInfo2PkgPolicyInputs(pinfo *meta.PackageInfo_p) []meta.PackagePolicyInput_p { + inputs := []meta.PackagePolicyInput_p{} + for _, policy_template_input := range pinfo.PolicyTemplates[0].Inputs { + pkg_policy_input := meta.PackagePolicyInput_p{ + Type: policy_template_input.Type, + Enabled: true, + Vars: map[string]interface{}{}, + Streams: []meta.PackagePolicyInputStream_p{}, + } + for _, data_stream := range pinfo.DataStreams { + if policy_template_input.Type == data_stream.Streams[0].Input { + pkg_policy_input_stream := meta.PackagePolicyInputStream_p{ + Enabled: true, + Data_stream: meta.PackagePolicyInputStremDatastream_p{ + Type: data_stream.Type, + Dataset: data_stream.Dataset, + }, + Vars: map[string]interface{}{}, + } + for _, data_stream_stream_var := range data_stream.Streams[0].Vars { + pkg_policy_input_stream.Vars[data_stream_stream_var["name"].(string)] = map[string]interface{}{ + "value": data_stream_stream_var["default"], + "type": data_stream_stream_var["type"], + } + } + pkg_policy_input.Streams = append(pkg_policy_input.Streams, pkg_policy_input_stream) + } + } + + if policy_template_input.Vars != nil { + for _, policy_template_input_var := range policy_template_input.Vars { + pkg_policy_input.Vars[policy_template_input_var["name"].(string)] = policy_template_input_var["default"] + pkg_policy_input.Vars[policy_template_input_var["name"].(string)] = map[string]interface{}{ + "value": policy_template_input_var["default"], + "type": policy_template_input_var["type"], + } + } + } + + inputs = append(inputs, pkg_policy_input) + } + + return inputs +} -- Gitee