diff --git a/elk/kibanaClient/7_17_16/clientFleetAPI+.go b/elk/kibanaClient/7_17_16/clientFleetAPI+.go index e6e75e1761d92ea7fbde287120a82ff9f160bf9e..85a31b7f1dd2221ea5474f157c9a06f7a640d3bb 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 edf87c741ab9922e083128bf1a1d0931100999c8..dff972f27fd8a77f35b45d4a04c5678d6fc5c427 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 0000000000000000000000000000000000000000..e2b3499724c77017eb088418c5c21a1b83120087 --- /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"` +}