diff --git a/elk/kibanaClient/7_17_16/client.go b/elk/kibanaClient/7_17_16/client.go index 8a62f71ba822c85b30987eac2f80c81c5dc7ec35..b109b62e45e777f68abb1a2a8b7fd94724075327 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 +}