Clone a snapshot
Generally available; Added in 7.10.0
Clone part of all of a snapshot into another snapshot in the same repository.
highlight#highlightFromAnchor" href="#topic-required-authorization"> Required authorization
- Cluster privileges:
manage
Path parameters
-
The name of the snapshot repository that both source and target snapshot belong to.
-
The source snapshot name.
-
The target 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
.Values are
-1
or0
.
PUT
/_snapshot/{repository}/{snapshot}/_clone/{target_snapshot}
dropdown#toggle click@window->dropdown#hide touchend@window->dropdown#hide"
data-dropdown-target="button"
data-scrollable="false"
data-headings="false"
aria-expanded="false"
aria-haspopup="true"
role="menu"
tabindex="0">
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"
client.snapshot().clone(c -> c
.indices("index_a,index_b")
.repository("my_repository")
.snapshot("source_snapshot")
.targetSnapshot("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"
}