From 92fd066600c7871256ef0bdd4a97fe062535d6b4 Mon Sep 17 00:00:00 2001 From: Wangjunqi123 Date: Thu, 6 Jun 2024 10:47:39 +0800 Subject: [PATCH] elk/kibanaclient(v7): wrap API of get outputs --- elk/kibanaClient/7_17_16/clientFleetAPI+.go | 16 ++++++++++++++++ elk/kibanaClient/7_17_16/meta/extraPath.go | 1 + elk/kibanaClient/7_17_16/meta/settings.go | 14 ++++++++++++++ 3 files changed, 31 insertions(+) create mode 100644 elk/kibanaClient/7_17_16/meta/settings.go diff --git a/elk/kibanaClient/7_17_16/clientFleetAPI+.go b/elk/kibanaClient/7_17_16/clientFleetAPI+.go index e6e75e17..85a31b7f 100644 --- a/elk/kibanaClient/7_17_16/clientFleetAPI+.go +++ b/elk/kibanaClient/7_17_16/clientFleetAPI+.go @@ -49,3 +49,19 @@ func (client *KibanaClient_v7) InstallFleetPackage(ctx context.Context, reqbody } return &pkg_policy_resp.Item, nil } + +func (client *KibanaClient_v7) GetOutputs(ctx context.Context) ([]meta.FleetOutput_p, error) { + apiURL := meta.FleetOutputsAPI + resp, err := client.Client.Connection.SendWithContext(ctx, http.MethodGet, apiURL, nil, nil, nil) + if err != nil { + return nil, fmt.Errorf("error calling %s API: %w", meta.FleetOutputsAPI, err) + } + defer resp.Body.Close() + + outputs_resp := &meta.FleetOutputsResponse_p{} + err = global.ReadJSONResponse(resp, outputs_resp) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + return outputs_resp.Items, nil +} \ No newline at end of file diff --git a/elk/kibanaClient/7_17_16/meta/extraPath.go b/elk/kibanaClient/7_17_16/meta/extraPath.go index edf87c74..dff972f2 100644 --- a/elk/kibanaClient/7_17_16/meta/extraPath.go +++ b/elk/kibanaClient/7_17_16/meta/extraPath.go @@ -3,4 +3,5 @@ package meta const ( FleetPackageInfoAPI = "/api/fleet/epm/packages/%s" FleetPackagePoliciesAPI = "/api/fleet/package_policies" + FleetOutputsAPI = "/api/fleet/outputs" ) diff --git a/elk/kibanaClient/7_17_16/meta/settings.go b/elk/kibanaClient/7_17_16/meta/settings.go new file mode 100644 index 00000000..e2b34997 --- /dev/null +++ b/elk/kibanaClient/7_17_16/meta/settings.go @@ -0,0 +1,14 @@ +package meta + +type FleetOutput_p struct { + Id string `json:"id"` + Name string `json:"name"` + Is_default bool `json:"is_default"` + Type string `json:"type"` + Hosts []string `json:"hosts"` + Config_yaml string `json:"config_yaml"` +} + +type FleetOutputsResponse_p struct { + Items []FleetOutput_p `json:"items"` +} -- Gitee