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.

response = client.snapshot.cleanup_repository(
  repository: 'my_repository'
)
puts 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. If no response is received before the timeout expires, the request fails and returns an error. Defaults to 30s.

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
response = client.snapshot.cleanup_repository(
  repository: 'my_repository'
)
puts response
POST /_snapshot/my_repository/_cleanup

The API returns the following response:

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