class Elastomer::Client::Repository
Attributes
Public Class Methods
Create a new index client for making API requests that pertain to the health and management individual indexes.
client - Elastomer::Client
used for HTTP requests to the server name - The name of the index as a String or an Array of names
# File lib/elastomer/client/repository.rb, line 15 def initialize(client, name = nil) @client = client @name = @client.assert_param_presence(name, "repository name") unless name.nil? end
Public Instance Methods
Create the repository. See www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html#_repositories
body - The repository type and settings as a Hash or a JSON encoded String params - Parameters Hash
Returns the response body as a Hash
# File lib/elastomer/client/repository.rb, line 47 def create(body, params = {}) response = client.put "/_snapshot/{repository}", update_params(params, body: body, action: "repository.create", rest_api: "snapshot.create_repository") response.body end
Internal: Returns a Hash containing default parameters.
# File lib/elastomer/client/repository.rb, line 122 def defaults { repository: name } end
Delete the repository. See www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html#_repositories
params - Parameters Hash
Returns the response body as a Hash
# File lib/elastomer/client/repository.rb, line 92 def delete(params = {}) response = client.delete "/_snapshot/{repository}", update_params(params, action: "repository.delete", rest_api: "snapshot.delete_repository") response.body end
Check for the existence of the repository. See www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html#_repositories
params - Parameters Hash
Returns true if the repository exists
# File lib/elastomer/client/repository.rb, line 28 def exists?(params = {}) response = client.get "/_snapshot{/repository}", update_params(params, action: "repository.exists", rest_api: "snapshot.get_repository") response.success? rescue Elastomer::Client::Error => err if err.error && err.error.dig("root_cause", 0, "type") == "repository_missing_exception" false else raise err end end
Get repository type and settings. See www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html#_repositories
params - Parameters Hash
Returns the response body as a Hash
# File lib/elastomer/client/repository.rb, line 58 def get(params = {}) response = client.get "/_snapshot{/repository}", update_params(params, action: "repository.get", rest_api: "snapshot.get_repository") response.body end
Provides access to snapshot API commands. These commands will be scoped to this repository and the given snapshot name.
snapshot - The snapshot name as a String, or nil for all snapshots.
Returns a Snapshot
instance.
# File lib/elastomer/client/repository.rb, line 103 def snapshot(snapshot = nil) client.snapshot(name, snapshot) end
Get status information on snapshots in progress. See www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html#_repositories
params - Parameters Hash
Returns the response body as a Hash
# File lib/elastomer/client/repository.rb, line 69 def status(params = {}) response = client.get "/_snapshot{/repository}/_status", update_params(params, action: "repository.status", rest_api: "snapshot.status") response.body end
Update the repository. See www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html#_repositories
body - The repository type and settings as a Hash or a JSON encoded String params - Parameters Hash
Returns the response body as a Hash
# File lib/elastomer/client/repository.rb, line 81 def update(body, params = {}) response = client.put "/_snapshot/{repository}", update_params(params, body: body, action: "repository.update", rest_api: "snapshot.create_repository") response.body end
Internal: Add default parameters to the `params` Hash and then apply `overrides` to the params if any are given.
params - Parameters Hash overrides - Optional parameter overrides as a Hash
Returns a new params Hash.
# File lib/elastomer/client/repository.rb, line 115 def update_params(params, overrides = nil) h = defaults.update params h.update overrides unless overrides.nil? h end