Clean up snapshot repository API

edit

Triggers the review of a snapshot repository’s contents and deletes any stale data that is not referenced by existing snapshots. See Clean up a repository.

resp = client.snapshot.cleanup_repository(
    name="my_repository",
)
print(resp)
response = client.snapshot.cleanup_repository(
  repository: 'my_repository'
)
puts response
const response = await client.snapshot.cleanupRepository({
  name: "my_repository",
});
console.log(response);
POST /_snapshot/my_repository/_cleanup

Request

edit

POST /_snapshot/<repository>/_cleanup

Prerequisites

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

Path parameters

edit
<repository>
(Required, string) Name of the snapshot repository to review and clean up.

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) Period to wait for a response from all relevant nodes in the cluster after updating the cluster metadata. If no response is received before the timeout expires, the cluster metadata update still applies but the response will indicate that it was not completely acknowledged. Defaults to 30s. Can also be set to -1 to indicate that the request should never timeout.

Response body

edit
results

(object) Contains statistics for cleanup operations.

Properties of results
deleted_bytes
(integer) Number of bytes freed by cleanup operations.
deleted_blobs
(integer) Number of binary large objects (blobs) removed from the snapshot repository during cleanup operations. Any non-zero value implies that unreferenced blobs were found and subsequently cleaned up.

Examples

edit
resp = client.snapshot.cleanup_repository(
    name="my_repository",
)
print(resp)
response = client.snapshot.cleanup_repository(
  repository: 'my_repository'
)
puts response
const response = await client.snapshot.cleanupRepository({
  name: "my_repository",
});
console.log(response);
POST /_snapshot/my_repository/_cleanup

The API returns the following response:

{
  "results": {
    "deleted_bytes": 20,
    "deleted_blobs": 5
  }
}