Class PutNodeRequest

java.lang.Object
co.elastic.clients.elasticsearch._types.RequestBase
co.elastic.clients.elasticsearch.shutdown.PutNodeRequest
All Implemented Interfaces:
JsonpSerializable

@JsonpDeserializable
public class PutNodeRequest
extends RequestBase
implements JsonpSerializable
Adds a node to be shut down. Designed for indirect use by ECE/ESS and ECK. Direct use is not supported.
See Also:
API specification
  • Field Details

  • Method Details

    • of

      public static PutNodeRequest of​(java.util.function.Function<PutNodeRequest.Builder,​ObjectBuilder<PutNodeRequest>> fn)
    • allocationDelay

      @Nullable public final java.lang.String allocationDelay()
      Only valid if type is restart. Controls how long Elasticsearch will wait for the node to restart and join the cluster before reassigning its shards to other nodes. This works the same as delaying allocation with the index.unassigned.node_left.delayed_timeout setting. If you specify both a restart allocation delay and an index-level allocation delay, the longer of the two is used.

      API name: allocation_delay

    • masterTimeout

      @Nullable public final TimeUnit masterTimeout()
      Period to wait for a connection to the master node. If no response is received before the timeout expires, the request fails and returns an error.

      API name: master_timeout

    • nodeId

      public final java.lang.String nodeId()
      Required - The node id of node to be shut down

      API name: node_id

    • reason

      public final java.lang.String reason()
      Required - A human-readable reason that the node is being shut down. This field provides information for other cluster operators; it does not affect the shut down process.

      API name: reason

    • targetNodeName

      @Nullable public final java.lang.String targetNodeName()
      Only valid if type is replace. Specifies the name of the node that is replacing the node being shut down. Shards from the shut down node are only allowed to be allocated to the target node, and no other data will be allocated to the target node. During relocation of data certain allocation rules are ignored, such as disk watermarks or user attribute filtering rules.

      API name: target_node_name

    • timeout

      @Nullable public final TimeUnit timeout()
      Period to wait for a response. If no response is received before the timeout expires, the request fails and returns an error.

      API name: timeout

    • type

      public final Type type()
      Required - Valid values are restart, remove, or replace. Use restart when you need to temporarily shut down a node to perform an upgrade, make configuration changes, or perform other maintenance. Because the node is expected to rejoin the cluster, data is not migrated off of the node. Use remove when you need to permanently remove a node from the cluster. The node is not marked ready for shutdown until data is migrated off of the node Use replace to do a 1:1 replacement of a node with another node. Certain allocation decisions will be ignored (such as disk watermarks) in the interest of true replacement of the source node with the target node. During a replace-type shutdown, rollover and index creation may result in unassigned shards, and shrink may fail until the replacement is complete.

      API name: type

    • serialize

      public void serialize​(jakarta.json.stream.JsonGenerator generator, JsonpMapper mapper)
      Serialize this object to JSON.
      Specified by:
      serialize in interface JsonpSerializable
    • serializeInternal

      protected void serializeInternal​(jakarta.json.stream.JsonGenerator generator, JsonpMapper mapper)
    • setupPutNodeRequestDeserializer

      protected static void setupPutNodeRequestDeserializer​(ObjectDeserializer<PutNodeRequest.Builder> op)