allocationexplain

package
v8.13.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 10, 2024 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

Provides explanations for shard allocations in the cluster.

Index

Constants

This section is empty.

Variables

View Source
var ErrBuildPath = errors.New("cannot build path, check for missing path parameters")

ErrBuildPath is returned in case of missing parameters within the build of the request.

Functions

This section is empty.

Types

type AllocationExplain

type AllocationExplain struct {
	// contains filtered or unexported fields
}

func (*AllocationExplain) CurrentNode

func (r *AllocationExplain) CurrentNode(currentnode string) *AllocationExplain

CurrentNode Specifies the node ID or the name of the node to only explain a shard that is currently located on the specified node. API name: current_node

func (AllocationExplain) Do

func (r AllocationExplain) Do(providedCtx context.Context) (*Response, error)

Do runs the request through the transport, handle the response and returns a allocationexplain.Response

func (*AllocationExplain) Header

func (r *AllocationExplain) Header(key, value string) *AllocationExplain

Header set a key, value pair in the AllocationExplain headers map.

func (*AllocationExplain) HttpRequest

func (r *AllocationExplain) HttpRequest(ctx context.Context) (*http.Request, error)

HttpRequest returns the http.Request object built from the given parameters.

func (*AllocationExplain) IncludeDiskInfo

func (r *AllocationExplain) IncludeDiskInfo(includediskinfo bool) *AllocationExplain

IncludeDiskInfo If true, returns information about disk usage and shard sizes. API name: include_disk_info

func (*AllocationExplain) IncludeYesDecisions

func (r *AllocationExplain) IncludeYesDecisions(includeyesdecisions bool) *AllocationExplain

IncludeYesDecisions If true, returns YES decisions in explanation. API name: include_yes_decisions

func (*AllocationExplain) Index

func (r *AllocationExplain) Index(indexname string) *AllocationExplain

Index Specifies the name of the index that you would like an explanation for. API name: index

func (AllocationExplain) Perform

func (r AllocationExplain) Perform(providedCtx context.Context) (*http.Response, error)

Perform runs the http.Request through the provided transport and returns an http.Response.

func (*AllocationExplain) Primary

func (r *AllocationExplain) Primary(primary bool) *AllocationExplain

Primary If true, returns explanation for the primary shard for the given shard ID. API name: primary

func (*AllocationExplain) Raw

Raw takes a json payload as input which is then passed to the http.Request If specified Raw takes precedence on Request method.

func (*AllocationExplain) Request

func (r *AllocationExplain) Request(req *Request) *AllocationExplain

Request allows to set the request property with the appropriate payload.

func (*AllocationExplain) Shard

func (r *AllocationExplain) Shard(shard int) *AllocationExplain

Shard Specifies the ID of the shard that you would like an explanation for. API name: shard

type NewAllocationExplain

type NewAllocationExplain func() *AllocationExplain

NewAllocationExplain type alias for index.

func NewAllocationExplainFunc

func NewAllocationExplainFunc(tp elastictransport.Interface) NewAllocationExplain

NewAllocationExplainFunc returns a new instance of AllocationExplain with the provided transport. Used in the index of the library this allows to retrieve every apis in once place.

type Request

type Request struct {

	// CurrentNode Specifies the node ID or the name of the node to only explain a shard that is
	// currently located on the specified node.
	CurrentNode *string `json:"current_node,omitempty"`
	// Index Specifies the name of the index that you would like an explanation for.
	Index *string `json:"index,omitempty"`
	// Primary If true, returns explanation for the primary shard for the given shard ID.
	Primary *bool `json:"primary,omitempty"`
	// Shard Specifies the ID of the shard that you would like an explanation for.
	Shard *int `json:"shard,omitempty"`
}

Request holds the request body struct for the package allocationexplain

https://github.com/elastic/elasticsearch-specification/blob/5fb8f1ce9c4605abcaa44aa0f17dbfc60497a757/specification/cluster/allocation_explain/ClusterAllocationExplainRequest.ts#L24-L61

func NewRequest

func NewRequest() *Request

NewRequest returns a Request

func (*Request) FromJSON

func (r *Request) FromJSON(data string) (*Request, error)

FromJSON allows to load an arbitrary json into the request structure

func (*Request) UnmarshalJSON

func (s *Request) UnmarshalJSON(data []byte) error

type Response

type Response struct {
	AllocateExplanation          *string                           `json:"allocate_explanation,omitempty"`
	AllocationDelay              types.Duration                    `json:"allocation_delay,omitempty"`
	AllocationDelayInMillis      *int64                            `json:"allocation_delay_in_millis,omitempty"`
	CanAllocate                  *decision.Decision                `json:"can_allocate,omitempty"`
	CanMoveToOtherNode           *decision.Decision                `json:"can_move_to_other_node,omitempty"`
	CanRebalanceCluster          *decision.Decision                `json:"can_rebalance_cluster,omitempty"`
	CanRebalanceClusterDecisions []types.AllocationDecision        `json:"can_rebalance_cluster_decisions,omitempty"`
	CanRebalanceToOtherNode      *decision.Decision                `json:"can_rebalance_to_other_node,omitempty"`
	CanRemainDecisions           []types.AllocationDecision        `json:"can_remain_decisions,omitempty"`
	CanRemainOnCurrentNode       *decision.Decision                `json:"can_remain_on_current_node,omitempty"`
	ClusterInfo                  *types.ClusterInfo                `json:"cluster_info,omitempty"`
	ConfiguredDelay              types.Duration                    `json:"configured_delay,omitempty"`
	ConfiguredDelayInMillis      *int64                            `json:"configured_delay_in_millis,omitempty"`
	CurrentNode                  *types.CurrentNode                `json:"current_node,omitempty"`
	CurrentState                 string                            `json:"current_state"`
	Index                        string                            `json:"index"`
	MoveExplanation              *string                           `json:"move_explanation,omitempty"`
	NodeAllocationDecisions      []types.NodeAllocationExplanation `json:"node_allocation_decisions,omitempty"`
	Note                         *string                           `json:"note,omitempty"`
	Primary                      bool                              `json:"primary"`
	RebalanceExplanation         *string                           `json:"rebalance_explanation,omitempty"`
	RemainingDelay               types.Duration                    `json:"remaining_delay,omitempty"`
	RemainingDelayInMillis       *int64                            `json:"remaining_delay_in_millis,omitempty"`
	Shard                        int                               `json:"shard"`
	UnassignedInfo               *types.UnassignedInformation      `json:"unassigned_info,omitempty"`
}

Response holds the response body struct for the package allocationexplain

https://github.com/elastic/elasticsearch-specification/blob/5fb8f1ce9c4605abcaa44aa0f17dbfc60497a757/specification/cluster/allocation_explain/ClusterAllocationExplainResponse.ts#L32-L64

func NewResponse

func NewResponse() *Response

NewResponse returns a Response

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL