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>
204 lines
12 KiB
Go
204 lines
12 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"
|
|
"strings"
|
|
|
|
"github.com/opensearch-project/opensearch-go/v4"
|
|
)
|
|
|
|
// CatIndicesReq represent possible options for the /_cat/indices request
|
|
type CatIndicesReq struct {
|
|
Indices []string
|
|
Header http.Header
|
|
Params CatIndicesParams
|
|
}
|
|
|
|
// GetRequest returns the *http.Request that gets executed by the client
|
|
func (r CatIndicesReq) GetRequest() (*http.Request, error) {
|
|
indices := strings.Join(r.Indices, ",")
|
|
var path strings.Builder
|
|
path.Grow(len("/_cat/indices/") + len(indices))
|
|
path.WriteString("/_cat/indices")
|
|
if len(r.Indices) > 0 {
|
|
path.WriteString("/")
|
|
path.WriteString(indices)
|
|
}
|
|
return opensearch.BuildRequest(
|
|
"GET",
|
|
path.String(),
|
|
nil,
|
|
r.Params.get(),
|
|
r.Header,
|
|
)
|
|
}
|
|
|
|
// CatIndicesResp represents the returned struct of the /_cat/indices response
|
|
type CatIndicesResp struct {
|
|
Indices []CatIndexResp
|
|
response *opensearch.Response
|
|
}
|
|
|
|
// CatIndexResp represents one index of the CatIndicesResp
|
|
type CatIndexResp struct {
|
|
Health string `json:"health"`
|
|
Status string `json:"status"`
|
|
Index string `json:"index"`
|
|
UUID string `json:"uuid"`
|
|
Primary *int `json:"pri,string"`
|
|
Replica *int `json:"rep,string"`
|
|
DocsCount *int `json:"docs.count,string"`
|
|
DocDeleted *int `json:"docs.deleted,string"`
|
|
CreationDate int `json:"creation.date,string"`
|
|
CreationDateString string `json:"creation.date.string"`
|
|
// Pointer as newly created indices can return null
|
|
StoreSize *string `json:"store.size"`
|
|
PrimaryStoreSize *string `json:"pri.store.size"`
|
|
CompletionSize *string `json:"completion.size"`
|
|
PrimaryCompletionSize *string `json:"pri.completion.size"`
|
|
FieldDataMemorySize *string `json:"fielddata.memory_size"`
|
|
PrimaryFieldDataMemorySize *string `json:"pri.fielddata.memory_size"`
|
|
FieldDataEvictions *int `json:"fielddata.evictions,string"`
|
|
PrimaryFieldDataEvictions *int `json:"pri.fielddata.evictions,string"`
|
|
QueryCacheMemorySize *string `json:"query_cache.memory_size"`
|
|
PrimaryQueryCacheMemorySize *string `json:"pri.query_cache.memory_size"`
|
|
QueryCacheEvictions *int `json:"query_cache.evictions,string"`
|
|
PrimaryQueryCacheEvictions *int `json:"pri.query_cache.evictions,string"`
|
|
RequestCacheMemorySize *string `json:"request_cache.memory_size"`
|
|
PrimaryRequestCacheMemorySize *string `json:"pri.request_cache.memory_size"`
|
|
RequestCacheEvictions *int `json:"request_cache.evictions,string"`
|
|
PrimaryRequestCacheEvictions *int `json:"pri.request_cache.evictions,string"`
|
|
RequestCacheHitCount *int `json:"request_cache.hit_count,string"`
|
|
PrimaryRequestCacheHitCount *int `json:"pri.request_cache.hit_count,string"`
|
|
RequestCacheMissCount *int `json:"request_cache.miss_count,string"`
|
|
PrimaryRequestCacheMissCount *int `json:"pri.request_cache.miss_count,string"`
|
|
FlushTotal *int `json:"flush.total,string"`
|
|
PrimaryFlushTotal *int `json:"pri.flush.total,string"`
|
|
FlushTime *string `json:"flush.total_time"`
|
|
PrimaryFlushTime *string `json:"pri.flush.total_time"`
|
|
GetCurrent *int `json:"get.current,string"`
|
|
PrimaryGetCurrent *int `json:"pri.get.current,string"`
|
|
GetTime *string `json:"get.time"`
|
|
PrimaryGetTime *string `json:"pri.get.time"`
|
|
GetTotal *int `json:"get.total,string"`
|
|
PrimaryGetTotal *int `json:"pri.get.total,string"`
|
|
GetExistsTime *string `json:"get.exists_time"`
|
|
PrimaryGetExistsTime *string `json:"pri.get.exists_time"`
|
|
GetExistsTotal *int `json:"get.exists_total,string"`
|
|
PrimaryGetExistsTotal *int `json:"pri.get.exists_total,string"`
|
|
GetMissingTime *string `json:"get.missing_time"`
|
|
PrimaryGetMissingTime *string `json:"pri.get.missing_time"`
|
|
GetMissingTotal *int `json:"get.missing_total,string"`
|
|
PrimaryGetMissingTotal *int `json:"pri.get.missing_total,string"`
|
|
IndexingDeleteCurrent *int `json:"indexing.delete_current,string"`
|
|
PrimaryIndexingDeleteCurrent *int `json:"pri.indexing.delete_current,string"`
|
|
IndexingDeleteTime *string `json:"indexing.delete_time"`
|
|
PrimaryIndexingDeleteTime *string `json:"pri.indexing.delete_time"`
|
|
IndexingDeleteTotal *int `json:"indexing.delete_total,string"`
|
|
PrimaryIndexingDeleteTotal *int `json:"pri.indexing.delete_total,string"`
|
|
IndexingIndexCurrent *int `json:"indexing.index_current,string"`
|
|
PrimaryIndexingIndexCurrent *int `json:"pri.indexing.index_current,string"`
|
|
IndexingIndexTime *string `json:"indexing.index_time"`
|
|
PrimaryIndexingIndexTime *string `json:"pri.indexing.index_time"`
|
|
IndexingIndexTotal *int `json:"indexing.index_total,string"`
|
|
PrimaryIndexingIndexTotal *int `json:"pri.indexing.index_total,string"`
|
|
IndexingIndexFailed *int `json:"indexing.index_failed,string"`
|
|
PrimaryIndexingIndexFailed *int `json:"pri.indexing.index_failed,string"`
|
|
MergesCurrent *int `json:"merges.current,string"`
|
|
PrimaryMergesCurrent *int `json:"pri.merges.current,string"`
|
|
MergesCurrentDocs *int `json:"merges.current_docs,string"`
|
|
PrimaryMergesCurrentDocs *int `json:"pri.merges.current_docs,string"`
|
|
MergesCurrentSize *string `json:"merges.current_size"`
|
|
PrimaryMergesCurrentSize *string `json:"pri.merges.current_size"`
|
|
MergesTotal *int `json:"merges.total,string"`
|
|
PrimaryMergesTotal *int `json:"pri.merges.total,string"`
|
|
MergesTotalDocs *int `json:"merges.total_docs,string"`
|
|
PrimaryMergesTotalDocs *int `json:"pri.merges.total_docs,string"`
|
|
MergesTotalSize *string `json:"merges.total_size"`
|
|
PrimaryMergesTotalSize *string `json:"pri.merges.total_size"`
|
|
MergesTotalTime *string `json:"merges.total_time"`
|
|
PrimaryMergesTotalTime *string `json:"pri.merges.total_time"`
|
|
RefreshTotal *int `json:"refresh.total,string"`
|
|
PrimaryRefreshTotal *int `json:"pri.refresh.total,string"`
|
|
RefreshTime *string `json:"refresh.time"`
|
|
PrimaryRefreshTime *string `json:"pri.refresh.time"`
|
|
RefreshExternalTotal *int `json:"refresh.external_total,string"`
|
|
PrimaryRefreshExternalTotal *int `json:"pri.refresh.external_total,string"`
|
|
RefreshExternalTime *string `json:"refresh.external_time"`
|
|
PrimaryRefreshExternalTime *string `json:"pri.refresh.external_time"`
|
|
RefreshListeners *int `json:"refresh.listeners,string"`
|
|
PrimaryRefreshListeners *int `json:"pri.refresh.listeners,string"`
|
|
SearchFetchCurrent *int `json:"search.fetch_current,string"`
|
|
PrimarySearchFetchCurrent *int `json:"pri.search.fetch_current,string"`
|
|
SearchFetchTime *string `json:"search.fetch_time"`
|
|
PrimarySearchFetchTime *string `json:"pri.search.fetch_time"`
|
|
SearchFetchTotal *int `json:"search.fetch_total,string"`
|
|
PrimarySearchFetchTotal *int `json:"pri.search.fetch_total,string"`
|
|
SearchOpenContexts *int `json:"search.open_contexts,string"`
|
|
PrimarySearchOpenContexts *int `json:"pri.search.open_contexts,string"`
|
|
SearchQueryCurrent *int `json:"search.query_current,string"`
|
|
PrimarySearchQueryCurrent *int `json:"pri.search.query_current,string"`
|
|
SearchQueryTime *string `json:"search.query_time"`
|
|
PrimarySearchQueryTime *string `json:"pri.search.query_time"`
|
|
SearchQueryTotal *int `json:"search.query_total,string"`
|
|
PrimarySearchQueryTotal *int `json:"pri.search.query_total,string"`
|
|
SearchConcurrentQueryCurrent *int `json:"search.concurrent_query_current,string"`
|
|
PrimarySearchConcurrentQueryCurrent *int `json:"pri.search.concurrent_query_current,string"`
|
|
SearchConcurrentQueryTime *string `json:"search.concurrent_query_time"`
|
|
PrimarySearchConcurrentQueryTime *string `json:"pri.search.concurrent_query_time"`
|
|
SearchConcurrentQueryTotal *int `json:"search.concurrent_query_total,string"`
|
|
PrimarySearchConcurrentQueryTotal *int `json:"pri.search.concurrent_query_total,string"`
|
|
SearchConcurrentAvgSliceCount *string `json:"search.concurrent_avg_slice_count"`
|
|
PrimarySearchConcurrentAvgSliceCount *string `json:"pri.search.concurrent_avg_slice_count"`
|
|
SearchScrollCurrent *int `json:"search.scroll_current,string"`
|
|
PrimarySearchScrollCurrent *int `json:"pri.search.scroll_current,string"`
|
|
SearchScrollTime *string `json:"search.scroll_time"`
|
|
PrimarySearchScrollTime *string `json:"pri.search.scroll_time"`
|
|
SearchScrollTotal *int `json:"search.scroll_total,string"`
|
|
PrimarySearchScrollTotal *int `json:"pri.search.scroll_total,string"`
|
|
SearchPointInTimeCurrent *string `json:"search.point_in_time_current"`
|
|
PrimarySearchPointInTimeCurrent *string `json:"pri.search.point_in_time_current"`
|
|
SearchPointInTimeTime *string `json:"search.point_in_time_time"`
|
|
PrimarySearchPointInTimeTime *string `json:"pri.search.point_in_time_time"`
|
|
SearchPointInTimeTotal *int `json:"search.point_in_time_total,string"`
|
|
PrimarySearchPointInTimeTotal *int `json:"pri.search.point_in_time_total,string"`
|
|
SegmentsCount *int `json:"segments.count,string"`
|
|
PrimarySegmentsCount *int `json:"pri.segments.count,string"`
|
|
SegmentsMemory *string `json:"segments.memory"`
|
|
PrimarySegmentsMemory *string `json:"pri.segments.memory"`
|
|
SegmentsIndexWriteMemory *string `json:"segments.index_writer_memory"`
|
|
PrimarySegmentsIndexWriteMemory *string `json:"pri.segments.index_writer_memory"`
|
|
SegmentsVersionMapMemory *string `json:"segments.version_map_memory"`
|
|
PrimarySegmentsVersionMapMemory *string `json:"pri.segments.version_map_memory"`
|
|
SegmentsFixedBitsetMemory *string `json:"segments.fixed_bitset_memory"`
|
|
PrimarySegmentsFixedBitsetMemory *string `json:"pri.segments.fixed_bitset_memory"`
|
|
WarmerCurrent *int `json:"warmer.current,string"`
|
|
PrimaryWarmerCurrent *int `json:"pri.warmer.current,string"`
|
|
WarmerTotal *int `json:"warmer.total,string"`
|
|
PrimaryWarmerTotal *int `json:"pri.warmer.total,string"`
|
|
WarmerTotalTime *string `json:"warmer.total_time"`
|
|
PrimaryWarmerTotalTime *string `json:"pri.warmer.total_time"`
|
|
SuggestCurrent *int `json:"suggest.current,string"`
|
|
PrimarySuggestCurrent *int `json:"pri.suggest.current,string"`
|
|
SuggestTime *string `json:"suggest.time"`
|
|
PrimarySuggestTime *string `json:"pri.suggest.time"`
|
|
SuggestTotal *int `json:"suggest.total,string"`
|
|
PrimarySuggestTotal *int `json:"pri.suggest.total,string"`
|
|
MemoryTotal string `json:"memory.total"`
|
|
PrimaryMemoryTotal string `json:"pri.memory.total"`
|
|
SearchThrottled bool `json:"search.throttled,string"`
|
|
}
|
|
|
|
// Inspect returns the Inspect type containing the raw *opensearch.Reponse
|
|
func (r CatIndicesResp) Inspect() Inspect {
|
|
return Inspect{
|
|
Response: r.response,
|
|
}
|
|
}
|