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>
147 lines
7.9 KiB
Go
147 lines
7.9 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 (
|
|
"net/http"
|
|
|
|
"github.com/opensearch-project/opensearch-go/v4"
|
|
)
|
|
|
|
// CatNodesReq represent possible options for the /_cat/nodes request
|
|
type CatNodesReq struct {
|
|
Header http.Header
|
|
Params CatNodesParams
|
|
}
|
|
|
|
// GetRequest returns the *http.Request that gets executed by the client
|
|
func (r CatNodesReq) GetRequest() (*http.Request, error) {
|
|
return opensearch.BuildRequest(
|
|
"GET",
|
|
"/_cat/nodes",
|
|
nil,
|
|
r.Params.get(),
|
|
r.Header,
|
|
)
|
|
}
|
|
|
|
// CatNodesResp represents the returned struct of the /_cat/nodes response
|
|
type CatNodesResp struct {
|
|
Nodes []CatNodesItemResp
|
|
response *opensearch.Response
|
|
}
|
|
|
|
// CatNodesItemResp represents one index of the CatNodesResp
|
|
type CatNodesItemResp struct {
|
|
ID string `json:"id"`
|
|
PID *string `json:"pid"`
|
|
IP string `json:"ip"`
|
|
Port int `json:"port,string"`
|
|
HTTPAddress string `json:"http_address"`
|
|
Version string `json:"version"`
|
|
Type *string `json:"type"`
|
|
Build *string `json:"build"`
|
|
JDK *string `json:"jdk"`
|
|
DiskTotal *string `json:"disk.total"`
|
|
DiskUsed *string `json:"disk.used"`
|
|
DiskAvail *string `json:"disk.avail"`
|
|
DiskUsedPercent *string `json:"disk.used_percent"`
|
|
HeapCurrent *string `json:"heap.current"`
|
|
HeapPercent *int `json:"heap.percent,string"`
|
|
HeapMax *string `json:"heap.max"`
|
|
RAMCurrent *string `json:"ram.current"`
|
|
RAMPercent *int `json:"ram.percent,string"`
|
|
RAMMax *string `json:"ram.max"`
|
|
FileDescCurrent *int `json:"file_desc.current,string"`
|
|
FileDescPercent *int `json:"file_desc.percent,string"`
|
|
FileDescMax *int `json:"file_desc.max,string"`
|
|
CPU *int `json:"cpu,string"`
|
|
Load1M *string `json:"load_1m"`
|
|
Load5M *string `json:"load_5m"`
|
|
Load15M *string `json:"load_15m"`
|
|
Uptime *string `json:"uptime"`
|
|
Role string `json:"node.role"`
|
|
Roles string `json:"node.roles"`
|
|
Master string `json:"master"`
|
|
ClusterManager string `json:"cluster_manager"`
|
|
Name string `json:"name"`
|
|
CompletionSize *string `json:"completion.size"`
|
|
FieldDataMemorySize *string `json:"fielddata.memory_size"`
|
|
FileldDataEvictions *int `json:"fielddata.evictions,string"`
|
|
QueryCacheMemorySize *string `json:"query_cache.memory_size"`
|
|
QueryCacheEvictions *int `json:"query_cache.evictions,string"`
|
|
QueryCacheHitCount *int `json:"query_cache.hit_count,string"`
|
|
QueryCacheMissCount *int `json:"query_cache.miss_count,string"`
|
|
RequestCacheMemorySize *string `json:"request_cache.memory_size"`
|
|
RequestCacheEvictions *int `json:"request_cache.evictions,string"`
|
|
RequestCacheHitCount *int `json:"request_cache.hit_count,string"`
|
|
RequestCacheMissCount *int `json:"request_cache.miss_count,string"`
|
|
FlushTotal *int `json:"flush.total,string"`
|
|
FlushTotalTime *string `json:"flush.total_time"`
|
|
GetCurrent *int `json:"get.current,string"`
|
|
GetTime *string `json:"get.time"`
|
|
GetTotal *int `json:"get.total,string"`
|
|
GetExistsTime *string `json:"get.exists_time"`
|
|
GetExistsTotal *int `json:"get.exists_total,string"`
|
|
GetMissingTime *string `json:"get.missing_time"`
|
|
GetMissingTotal *int `json:"get.missing_total,string"`
|
|
IndexingDeleteCurrent *int `json:"indexing.delete_current,string"`
|
|
IndexingDeleteTime *string `json:"indexing.delete_time"`
|
|
IndexingDeleteTotal *int `json:"indexing.delete_total,string"`
|
|
IndexingIndexCurrent *int `json:"indexing.index_current,string"`
|
|
IndexingIndexTime *string `json:"indexing.index_time"`
|
|
IndexingIndexTotal *int `json:"indexing.index_total,string"`
|
|
IndexingIndexFailed *int `json:"indexing.index_failed,string"`
|
|
MergesCurrent *int `json:"merges.current,string"`
|
|
MergesCurrentDoc *int `json:"merges.current_docs,string"`
|
|
MergesCurrentSize *string `json:"merges.current_size"`
|
|
MergesTotal *int `json:"merges.total,string"`
|
|
MergesTotalDocs *int `json:"merges.total_docs,string"`
|
|
MergesTotalSize *string `json:"merges.total_size"`
|
|
MergesTotalTime *string `json:"merges.total_time"`
|
|
RefreshTotal *int `json:"refresh.total,string"`
|
|
RefreshTime *string `json:"refresh.time"`
|
|
RefreshExternalTotal *int `json:"refresh.external_total,string"`
|
|
RefreshExternalTime *string `json:"refresh.external_time"`
|
|
RefreshListeners *int `json:"refresh.listeners,string"`
|
|
ScriptCompilations *int `json:"script.compilations,string"`
|
|
ScriptCacheEvictions *int `json:"script.cache_evictions,string"`
|
|
ScriptCompilationLimitTriggered *int `json:"script.compilation_limit_triggered,string"`
|
|
SearchFetchCurrent *int `json:"search.fetch_current,string"`
|
|
SearchFetchTime *string `json:"search.fetch_time"`
|
|
SearchFetchTotal *int `json:"search.fetch_total,string"`
|
|
SearchOpenContexts *int `json:"search.open_contexts,string"`
|
|
SearchQueryCurrent *int `json:"search.query_current,string"`
|
|
SearchQueryTime *string `json:"search.query_time"`
|
|
SearchQueryTotal *int `json:"search.query_total,string"`
|
|
SearchConcurrentQueryCurrent *int `json:"search.concurrent_query_current,string"`
|
|
SearchConcurrentQueryTime *string `json:"search.concurrent_query_time"`
|
|
SearchConcurrentQueryTotal *int `json:"search.concurrent_query_total,string"`
|
|
SearchConcurrentAvgSliceCount *string `json:"search.concurrent_avg_slice_count"`
|
|
SearchScrollCurrent *int `json:"search.scroll_current,string"`
|
|
SearchScrollTime *string `json:"search.scroll_time"`
|
|
SearchScrollTotal *int `json:"search.scroll_total,string"`
|
|
SearchPointInTimeCurrent *int `json:"search.point_in_time_current,string"`
|
|
SearchPointInTimeTime *string `json:"search.point_in_time_time"`
|
|
SearchPointInTimeTotal *int `json:"search.point_in_time_total,string"`
|
|
SegmentsCount *int `json:"segments.count,string"`
|
|
SegmentsMemory *string `json:"segments.memory"`
|
|
SegmentsIndexWriteMemory *string `json:"segments.index_writer_memory"`
|
|
SegmentsVersionMapMemory *string `json:"segments.version_map_memory"`
|
|
SegmentsFixedBitsetMemory *string `json:"segments.fixed_bitset_memory"`
|
|
SuggestCurrent *int `json:"suggest.current,string"`
|
|
SuggestTime *string `json:"suggest.time"`
|
|
SuggestTotal *int `json:"suggest.total,string"`
|
|
}
|
|
|
|
// Inspect returns the Inspect type containing the raw *opensearch.Reponse
|
|
func (r CatNodesResp) Inspect() Inspect {
|
|
return Inspect{
|
|
Response: r.response,
|
|
}
|
|
}
|