Clone a snapshot
Generally available; Added in 7.10.0
Clone part of all of a snapshot into another snapshot in the same repository.
Required authorization
- Cluster privileges:
manage
Path parameters
-
repository
string Required The name of the snapshot repository that both source and target snapshot belong to.
-
snapshot
string Required The source snapshot name.
-
target_snapshot
string Required The target snapshot name.
Query parameters
-
master_timeout
string 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
.Values are
-1
or0
.
PUT
/_snapshot/{repository}/{snapshot}/_clone/{target_snapshot}
Console
PUT /_snapshot/my_repository/source_snapshot/_clone/target_snapshot
{
"indices": "index_a,index_b"
}
resp = client.snapshot.clone(
repository="my_repository",
snapshot="source_snapshot",
target_snapshot="target_snapshot",
indices="index_a,index_b",
)
const response = await client.snapshot.clone({
repository: "my_repository",
snapshot: "source_snapshot",
target_snapshot: "target_snapshot",
indices: "index_a,index_b",
});
response = client.snapshot.clone(
repository: "my_repository",
snapshot: "source_snapshot",
target_snapshot: "target_snapshot",
body: {
"indices": "index_a,index_b"
}
)
$resp = $client->snapshot()->clone([
"repository" => "my_repository",
"snapshot" => "source_snapshot",
"target_snapshot" => "target_snapshot",
"body" => [
"indices" => "index_a,index_b",
],
]);
curl -X PUT -H "Authorization: ApiKey $ELASTIC_API_KEY" -H "Content-Type: application/json" -d '{"indices":"index_a,index_b"}' "$ELASTICSEARCH_URL/_snapshot/my_repository/source_snapshot/_clone/target_snapshot"
Request example
Run `PUT /_snapshot/my_repository/source_snapshot/_clone/target_snapshot` to clone the `source_snapshot` into a new `target_snapshot`.
{
"indices": "index_a,index_b"
}