Class RestoreRequest

java.lang.Object
co.elastic.clients.elasticsearch._types.RequestBase
co.elastic.clients.elasticsearch.snapshot.RestoreRequest
All Implemented Interfaces:
JsonpSerializable

@JsonpDeserializable public class RestoreRequest extends RequestBase implements JsonpSerializable
Restore a snapshot. Restore a snapshot of a cluster or data streams and indices.

You can restore a snapshot only to a running cluster with an elected master node. The snapshot repository must be registered and available to the cluster. The snapshot and cluster versions must be compatible.

To restore a snapshot, the cluster's global metadata must be writable. Ensure there are't any cluster blocks that prevent writes. The restore operation ignores index blocks.

Before you restore a data stream, ensure the cluster contains a matching index template with data streams enabled. To check, use the index management feature in Kibana or the get index template API:

 GET _index_template/*?filter_path=index_templates.name,index_templates.index_template.index_patterns,index_templates.index_template.data_stream
 
 

If no such template exists, you can create one or restore a cluster state that contains one. Without a matching index template, a data stream can't roll over or create backing indices.

If your snapshot contains data from App Search or Workplace Search, you must restore the Enterprise Search encryption key before you restore the snapshot.

See Also:
  • Field Details

  • Method Details

    • of

    • featureStates

      public final List<String> featureStates()
      The feature states to restore. If include_global_state is true, the request restores all feature states in the snapshot by default. If include_global_state is false, the request restores no feature states by default. Note that specifying an empty array will result in the default behavior. To restore no feature states, regardless of the include_global_state value, specify an array containing only the value none (["none"]).

      API name: feature_states

    • ignoreIndexSettings

      public final List<String> ignoreIndexSettings()
      The index settings to not restore from the snapshot. You can't use this option to ignore index.number_of_shards.

      For data streams, this option applies only to restored backing indices. New backing indices are configured using the data stream's matching index template.

      API name: ignore_index_settings

    • ignoreUnavailable

      @Nullable public final Boolean ignoreUnavailable()
      If true, the request ignores any index or data stream in indices that's missing from the snapshot. If false, the request returns an error for any missing index or data stream.

      API name: ignore_unavailable

    • includeAliases

      @Nullable public final Boolean includeAliases()
      If true, the request restores aliases for any restored data streams and indices. If false, the request doesn’t restore aliases.

      API name: include_aliases

    • includeGlobalState

      @Nullable public final Boolean includeGlobalState()
      If true, restore the cluster state. The cluster state includes:
      • Persistent cluster settings
      • Index templates
      • Legacy index templates
      • Ingest pipelines
      • Index lifecycle management (ILM) policies
      • Stored scripts
      • For snapshots taken after 7.12.0, feature states

      If include_global_state is true, the restore operation merges the legacy index templates in your cluster with the templates contained in the snapshot, replacing any existing ones whose name matches one in the snapshot. It completely removes all persistent settings, non-legacy index templates, ingest pipelines, and ILM lifecycle policies that exist in your cluster and replaces them with the corresponding items from the snapshot.

      Use the feature_states parameter to configure how feature states are restored.

      If include_global_state is true and a snapshot was created without a global state then the restore request will fail.

      API name: include_global_state

    • indexSettings

      @Nullable public final IndexSettings indexSettings()
      Index settings to add or change in restored indices, including backing indices. You can't use this option to change index.number_of_shards.

      For data streams, this option applies only to restored backing indices. New backing indices are configured using the data stream's matching index template.

      API name: index_settings

    • indices

      public final List<String> indices()
      A comma-separated list of indices and data streams to restore. It supports a multi-target syntax. The default behavior is all regular indices and regular data streams in the snapshot.

      You can't use this parameter to restore system indices or system data streams. Use feature_states instead.

      API name: indices

    • masterTimeout

      @Nullable public final Time masterTimeout()
      The period to wait for the master node. If the master node is not available before the timeout expires, the request fails and returns an error. To indicate that the request should never timeout, set it to -1.

      API name: master_timeout

    • partial

      @Nullable public final Boolean partial()
      If false, the entire restore operation will fail if one or more indices included in the snapshot do not have all primary shards available.

      If true, it allows restoring a partial snapshot of indices with unavailable shards. Only shards that were successfully included in the snapshot will be restored. All missing shards will be recreated as empty.

      API name: partial

    • renamePattern

      @Nullable public final String renamePattern()
      A rename pattern to apply to restored data streams and indices. Data streams and indices matching the rename pattern will be renamed according to rename_replacement.

      The rename pattern is applied as defined by the regular expression that supports referencing the original text, according to the appendReplacement logic.

      API name: rename_pattern

    • renameReplacement

      @Nullable public final String renameReplacement()
      The rename replacement string that is used with the rename_pattern.

      API name: rename_replacement

    • repository

      public final String repository()
      Required - The name of the repository to restore a snapshot from.

      API name: repository

    • snapshot

      public final String snapshot()
      Required - The name of the snapshot to restore.

      API name: snapshot

    • waitForCompletion

      @Nullable public final Boolean waitForCompletion()
      If true, the request returns a response when the restore operation completes. The operation is complete when it finishes all attempts to recover primary shards for restored indices. This applies even if one or more of the recovery attempts fail.

      If false, the request returns a response when the restore operation initializes.

      API name: wait_for_completion

    • 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)
    • setupRestoreRequestDeserializer

      protected static void setupRestoreRequestDeserializer(ObjectDeserializer<RestoreRequest.Builder> op)