diff --git a/elk/kibanaClient/7_17_16/clientFleetAPI+.go b/elk/kibanaClient/7_17_16/clientFleetAPI+.go new file mode 100644 index 0000000000000000000000000000000000000000..ee85b6a8c4bdf40a448d48aa162fdbca26f73e69 --- /dev/null +++ b/elk/kibanaClient/7_17_16/clientFleetAPI+.go @@ -0,0 +1,26 @@ +package kibanaClient + +import ( + "context" + "fmt" + "io" + "net/http" + + "gitee.com/openeuler/PilotGo-plugin-elk/kibanaClient/7_17_16/meta" +) + +func (client *KibanaClient_v7) GetPackageInfo(ctx context.Context, pkgname string) (*meta.PackageInfo_p, error) { + apiURL := fmt.Sprintf(meta.FleetPackageInfoAPI, pkgname) + 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.FleetPackageInfoAPI, err) + } + defer resp.Body.Close() + bytes, err := io.ReadAll(resp.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + + pinfo := Gjson_GetPackageInfo(bytes, "response.name", "response.policy_templates", "response.data_streams", "response.version", "response.title") + return pinfo, nil +} diff --git a/elk/kibanaClient/7_17_16/meta/extraPath.go b/elk/kibanaClient/7_17_16/meta/extraPath.go new file mode 100644 index 0000000000000000000000000000000000000000..f22d69ef125e81190f38d2ec05d96e61942da2fb --- /dev/null +++ b/elk/kibanaClient/7_17_16/meta/extraPath.go @@ -0,0 +1,5 @@ +package meta + +const ( + FleetPackageInfoAPI = "/api/fleet/epm/packages/%s" +)