Clone snapshot API

edit

Clones part or all of a snapshot into a new snapshot.

response = client.snapshot.clone(
  repository: 'my_repository',
  snapshot: 'source_snapshot',
  target_snapshot: 'target_snapshot',
  body: {
    indices: 'index_a,index_b'
  }
)
puts response
PUT /_snapshot/my_repository/source_snapshot/_clone/target_snapshot
{
  "indices": "index_a,index_b"
}

Request

edit

PUT /_snapshot/<repository>/<source_snapshot>/_clone/<target_snapshot>

Prerequisites

edit
  • If the Elasticsearch security features are enabled, you must have the manage cluster privilege to use this API.

Description

edit

The clone snapshot API allows creating a copy of all or part of an existing snapshot within the same repository.

Path parameters

edit
<repository>
(Required, string) Name of the snapshot repository that both source and target snapshot belong to.

Query parameters

edit
master_timeout
(Optional, time units) 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. Defaults to 30s. Can also be set to -1 to indicate that the request should never timeout.
timeout
(Optional, time units) Specifies the period of time to wait for a response. If no response is received before the timeout expires, the request fails and returns an error. Defaults to 30s.
indices
(Required, string) A comma-separated list of indices to include in the snapshot. multi-target syntax is supported.