Full Mattermost server source with integrated Community Enterprise features. Includes vendor directory for offline/air-gapped builds. Structure: - enterprise-impl/: Enterprise feature implementations - enterprise-community/: Init files that register implementations - enterprise/: Bridge imports (community_imports.go) - vendor/: All dependencies for offline builds Build (online): go build ./cmd/mattermost Build (offline/air-gapped): go build -mod=vendor ./cmd/mattermost 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
94 lines
2.2 KiB
Go
94 lines
2.2 KiB
Go
// SPDX-License-Identifier: Apache-2.0
|
|
//
|
|
// The OpenSearch Contributors require contributions made to
|
|
// this file be licensed under the Apache-2.0 license or a
|
|
// compatible open source license.
|
|
|
|
package opensearchapi
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/opensearch-project/opensearch-go/v4"
|
|
)
|
|
|
|
type nodesClient struct {
|
|
apiClient *Client
|
|
}
|
|
|
|
// Stats executes a /_nodes/_stats request with the optional NodesStatsReq
|
|
func (c nodesClient) Stats(ctx context.Context, req *NodesStatsReq) (*NodesStatsResp, error) {
|
|
if req == nil {
|
|
req = &NodesStatsReq{}
|
|
}
|
|
|
|
var (
|
|
data NodesStatsResp
|
|
err error
|
|
)
|
|
if data.response, err = c.apiClient.do(ctx, req, &data); err != nil {
|
|
return &data, err
|
|
}
|
|
|
|
return &data, nil
|
|
}
|
|
|
|
// Info executes a /_nodes request with the optional NodesInfoReq
|
|
func (c nodesClient) Info(ctx context.Context, req *NodesInfoReq) (*NodesInfoResp, error) {
|
|
if req == nil {
|
|
req = &NodesInfoReq{}
|
|
}
|
|
|
|
var (
|
|
data NodesInfoResp
|
|
err error
|
|
)
|
|
if data.response, err = c.apiClient.do(ctx, req, &data); err != nil {
|
|
return &data, err
|
|
}
|
|
|
|
return &data, nil
|
|
}
|
|
|
|
// HotThreads executes a /_nodes/hot_threads request with the optional NodesHotThreadsReq
|
|
func (c nodesClient) HotThreads(ctx context.Context, req *NodesHotThreadsReq) (*opensearch.Response, error) {
|
|
if req == nil {
|
|
req = &NodesHotThreadsReq{}
|
|
}
|
|
return c.apiClient.do(ctx, req, nil)
|
|
}
|
|
|
|
// ReloadSecurity executes a /_nodes/reload_secure_settings request with the optional NodesReloadSecurityReq
|
|
func (c nodesClient) ReloadSecurity(ctx context.Context, req *NodesReloadSecurityReq) (*NodesReloadSecurityResp, error) {
|
|
if req == nil {
|
|
req = &NodesReloadSecurityReq{}
|
|
}
|
|
|
|
var (
|
|
data NodesReloadSecurityResp
|
|
err error
|
|
)
|
|
if data.response, err = c.apiClient.do(ctx, req, &data); err != nil {
|
|
return &data, err
|
|
}
|
|
|
|
return &data, nil
|
|
}
|
|
|
|
// Usage executes a /_nodes/usage request with the optional NodesUsageReq
|
|
func (c nodesClient) Usage(ctx context.Context, req *NodesUsageReq) (*NodesUsageResp, error) {
|
|
if req == nil {
|
|
req = &NodesUsageReq{}
|
|
}
|
|
|
|
var (
|
|
data NodesUsageResp
|
|
err error
|
|
)
|
|
if data.response, err = c.apiClient.do(ctx, req, &data); err != nil {
|
|
return &data, err
|
|
}
|
|
|
|
return &data, nil
|
|
}
|