specification/snapshot/restore/SnapshotRestoreRequest.ts (32 lines of code) (raw):

/* * Licensed to Elasticsearch B.V. under one or more contributor * license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright * ownership. Elasticsearch B.V. licenses this file to you under * the Apache License, Version 2.0 (the "License"); you may * not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ import { IndexSettings } from '@indices/_types/IndexSettings' import { RequestBase } from '@_types/Base' import { Indices, Name } from '@_types/common' import { Duration } from '@_types/Time' /** * 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. * @rest_spec_name snapshot.restore * @availability stack since=0.0.0 stability=stable * @availability serverless stability=stable visibility=private * @cluster_privileges manage * @doc_id snapshot-restore-api * @ext_doc_id restore-snapshot */ export interface Request extends RequestBase { urls: [ { path: '/_snapshot/{repository}/{snapshot}/_restore' methods: ['POST'] } ] path_parts: { /** * The name of the repository to restore a snapshot from. */ repository: Name /** * The name of the snapshot to restore. */ snapshot: Name } query_parameters: { /** * 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`. * @server_default 30s */ master_timeout?: Duration /** * 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. * @server_default false */ wait_for_completion?: boolean } body: { /** * 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"]`). * @ext_doc_id snapshot-restore-feature-state */ feature_states?: string[] /** * 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. */ ignore_index_settings?: string[] /** * 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. * @server_default false */ ignore_unavailable?: boolean /** * If `true`, the request restores aliases for any restored data streams and indices. * If `false`, the request doesn’t restore aliases. * @server_default true */ include_aliases?: boolean /** * 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. * @server_default false */ include_global_state?: boolean /** * 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. */ index_settings?: IndexSettings /** * 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. */ indices?: Indices /** * 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. * @server_default false */ partial?: boolean /** * 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. * @ext_doc_id snapshot-restore-amend-replacement */ rename_pattern?: string /** * The rename replacement string that is used with the `rename_pattern`. */ rename_replacement?: string } }