Create or update snapshot repository API

edit

Create or update snapshot repository API

edit

Registers or updates a snapshot repository.

response = client.snapshot.create_repository(
  repository: 'my_repository',
  body: {
    type: 'fs',
    settings: {
      location: 'my_backup_location'
    }
  }
)
puts response
PUT /_snapshot/my_repository
{
  "type": "fs",
  "settings": {
    "location": "my_backup_location"
  }
}

If you’re migrating searchable snapshots, the repository’s name must be identical in the source and destination clusters.

Request

edit

PUT /_snapshot/<repository>

POST /_snapshot/<repository>

Prerequisites

edit
  • If the Elasticsearch security features are enabled, you must have the manage cluster privilege to use this API.
  • To register a snapshot repository, the cluster’s global metadata must be writeable. Ensure there aren’t any cluster blocks that prevent write access.

Path parameters

edit
<repository>
(Required, string) Name of the snapshot repository to register or update.

Query parameters

edit

Several options for this API can be specified using a query parameter or a request body parameter. If both parameters are specified, only the query parameter is used.

master_timeout
(Optional, time units) Specifies the period of time to wait for a connection to the master node. If no response is received before the timeout expires, the request fails and returns an error. Defaults to 30s.
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.
verify

(Optional, Boolean) If true, the request verifies the repository is functional on all master and data nodes in the cluster. If false, this verification is skipped. Defaults to true.

You can manually perform this verification using the verify snapshot repository API.

Request body

edit
type

(Required, string) Repository type.

Valid values for type
settings

(Required, object) Settings for the repository. Supported settings vary based on the repository type:

Other repository types are available through official plugins:

verify

(Optional, Boolean) If true, the request verifies the repository is functional on all master and data nodes in the cluster. If false, this verification is skipped. Defaults to true.

You can manually perform this verification using the verify snapshot repository API.