module Elasticsearch::XPack::API::Watcher::Actions

Public Instance Methods

ack_watch(arguments = {}) click to toggle source

Acknowledges a watch, manually throttling the execution of the watch's actions.

@option arguments [String] :watch_id Watch ID @option arguments [List] :action_id A comma-separated list of the action ids to be acked @option arguments [Hash] :headers Custom HTTP headers

@see www.elastic.co/guide/en/elasticsearch/reference/7.14/watcher-api-ack-watch.html

# File lib/elasticsearch/xpack/api/actions/watcher/ack_watch.rb, line 31
def ack_watch(arguments = {})
  raise ArgumentError, "Required argument 'watch_id' missing" unless arguments[:watch_id]

  headers = arguments.delete(:headers) || {}

  arguments = arguments.clone

  _watch_id = arguments.delete(:watch_id)

  _action_id = arguments.delete(:action_id)

  method = Elasticsearch::API::HTTP_PUT
  path   = if _watch_id && _action_id
             "_watcher/watch/#{Elasticsearch::API::Utils.__listify(_watch_id)}/_ack/#{Elasticsearch::API::Utils.__listify(_action_id)}"
           else
             "_watcher/watch/#{Elasticsearch::API::Utils.__listify(_watch_id)}/_ack"
           end
  params = {}

  body = nil
  perform_request(method, path, params, body, headers).body
end
activate_watch(arguments = {}) click to toggle source

Activates a currently inactive watch.

@option arguments [String] :watch_id Watch ID @option arguments [Hash] :headers Custom HTTP headers

@see www.elastic.co/guide/en/elasticsearch/reference/7.14/watcher-api-activate-watch.html

# File lib/elasticsearch/xpack/api/actions/watcher/activate_watch.rb, line 30
def activate_watch(arguments = {})
  raise ArgumentError, "Required argument 'watch_id' missing" unless arguments[:watch_id]

  headers = arguments.delete(:headers) || {}

  arguments = arguments.clone

  _watch_id = arguments.delete(:watch_id)

  method = Elasticsearch::API::HTTP_PUT
  path   = "_watcher/watch/#{Elasticsearch::API::Utils.__listify(_watch_id)}/_activate"
  params = {}

  body = nil
  perform_request(method, path, params, body, headers).body
end
deactivate_watch(arguments = {}) click to toggle source

Deactivates a currently active watch.

@option arguments [String] :watch_id Watch ID @option arguments [Hash] :headers Custom HTTP headers

@see www.elastic.co/guide/en/elasticsearch/reference/7.14/watcher-api-deactivate-watch.html

# File lib/elasticsearch/xpack/api/actions/watcher/deactivate_watch.rb, line 30
def deactivate_watch(arguments = {})
  raise ArgumentError, "Required argument 'watch_id' missing" unless arguments[:watch_id]

  headers = arguments.delete(:headers) || {}

  arguments = arguments.clone

  _watch_id = arguments.delete(:watch_id)

  method = Elasticsearch::API::HTTP_PUT
  path   = "_watcher/watch/#{Elasticsearch::API::Utils.__listify(_watch_id)}/_deactivate"
  params = {}

  body = nil
  perform_request(method, path, params, body, headers).body
end
delete_watch(arguments = {}) click to toggle source

Removes a watch from Watcher.

@option arguments [String] :id Watch ID @option arguments [Hash] :headers Custom HTTP headers

@see www.elastic.co/guide/en/elasticsearch/reference/7.14/watcher-api-delete-watch.html

# File lib/elasticsearch/xpack/api/actions/watcher/delete_watch.rb, line 30
def delete_watch(arguments = {})
  raise ArgumentError, "Required argument 'id' missing" unless arguments[:id]

  headers = arguments.delete(:headers) || {}

  arguments = arguments.clone

  _id = arguments.delete(:id)

  method = Elasticsearch::API::HTTP_DELETE
  path   = "_watcher/watch/#{Elasticsearch::API::Utils.__listify(_id)}"
  params = {}

  body = nil
  if Array(arguments[:ignore]).include?(404)
    Elasticsearch::API::Utils.__rescue_from_not_found {
      perform_request(method, path, params, body, headers).body
    }
  else
    perform_request(method, path, params, body, headers).body
  end
end
execute_watch(arguments = {}) click to toggle source

Forces the execution of a stored watch.

@option arguments [String] :id Watch ID @option arguments [Boolean] :debug indicates whether the watch should execute in debug mode @option arguments [Hash] :headers Custom HTTP headers @option arguments [Hash] :body Execution control

@see www.elastic.co/guide/en/elasticsearch/reference/7.14/watcher-api-execute-watch.html

# File lib/elasticsearch/xpack/api/actions/watcher/execute_watch.rb, line 32
def execute_watch(arguments = {})
  headers = arguments.delete(:headers) || {}

  arguments = arguments.clone

  _id = arguments.delete(:id)

  method = Elasticsearch::API::HTTP_PUT
  path   = if _id
             "_watcher/watch/#{Elasticsearch::API::Utils.__listify(_id)}/_execute"
           else
             "_watcher/watch/_execute"
           end
  params = Elasticsearch::API::Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)

  body = arguments[:body]
  perform_request(method, path, params, body, headers).body
end
get_watch(arguments = {}) click to toggle source

Retrieves a watch by its ID.

@option arguments [String] :id Watch ID @option arguments [Hash] :headers Custom HTTP headers

@see www.elastic.co/guide/en/elasticsearch/reference/7.14/watcher-api-get-watch.html

# File lib/elasticsearch/xpack/api/actions/watcher/get_watch.rb, line 30
def get_watch(arguments = {})
  raise ArgumentError, "Required argument 'id' missing" unless arguments[:id]

  headers = arguments.delete(:headers) || {}

  arguments = arguments.clone

  _id = arguments.delete(:id)

  method = Elasticsearch::API::HTTP_GET
  path   = "_watcher/watch/#{Elasticsearch::API::Utils.__listify(_id)}"
  params = {}

  body = nil
  perform_request(method, path, params, body, headers).body
end
put_watch(arguments = {}) click to toggle source

Creates a new watch, or updates an existing one.

@option arguments [String] :id Watch ID @option arguments [Boolean] :active Specify whether the watch is in/active by default @option arguments [Number] :version Explicit version number for concurrency control @option arguments [Number] :if_seq_no only update the watch if the last operation that has changed the watch has the specified sequence number @option arguments [Number] :if_primary_term only update the watch if the last operation that has changed the watch has the specified primary term @option arguments [Hash] :headers Custom HTTP headers @option arguments [Hash] :body The watch

@see www.elastic.co/guide/en/elasticsearch/reference/7.14/watcher-api-put-watch.html

# File lib/elasticsearch/xpack/api/actions/watcher/put_watch.rb, line 35
def put_watch(arguments = {})
  raise ArgumentError, "Required argument 'id' missing" unless arguments[:id]

  headers = arguments.delete(:headers) || {}

  arguments = arguments.clone

  _id = arguments.delete(:id)

  method = Elasticsearch::API::HTTP_PUT
  path   = "_watcher/watch/#{Elasticsearch::API::Utils.__listify(_id)}"
  params = Elasticsearch::API::Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)

  body = arguments[:body]
  perform_request(method, path, params, body, headers).body
end
query_watches(arguments = {}) click to toggle source

Retrieves stored watches.

@option arguments [Hash] :headers Custom HTTP headers @option arguments [Hash] :body From, size, query, sort and search_after

@see www.elastic.co/guide/en/elasticsearch/reference/7.14/watcher-api-query-watches.html

# File lib/elasticsearch/xpack/api/actions/watcher/query_watches.rb, line 30
def query_watches(arguments = {})
  headers = arguments.delete(:headers) || {}

  arguments = arguments.clone

  method = if arguments[:body]
             Elasticsearch::API::HTTP_POST
           else
             Elasticsearch::API::HTTP_GET
           end

  path = "_watcher/_query/watches"
  params = {}

  body = arguments[:body]
  perform_request(method, path, params, body, headers).body
end
start(arguments = {}) click to toggle source

Starts Watcher if it is not already running.

@option arguments [Hash] :headers Custom HTTP headers

@see www.elastic.co/guide/en/elasticsearch/reference/7.14/watcher-api-start.html

# File lib/elasticsearch/xpack/api/actions/watcher/start.rb, line 29
def start(arguments = {})
  headers = arguments.delete(:headers) || {}

  arguments = arguments.clone

  method = Elasticsearch::API::HTTP_POST
  path   = "_watcher/_start"
  params = {}

  body = nil
  perform_request(method, path, params, body, headers).body
end
stats(arguments = {}) click to toggle source

Retrieves the current Watcher metrics.

@option arguments [List] :metric Controls what additional stat metrics should be include in the response (options: _all, queued_watches, current_watches, pending_watches) @option arguments [Boolean] :emit_stacktraces Emits stack traces of currently running watches @option arguments [Hash] :headers Custom HTTP headers

@see www.elastic.co/guide/en/elasticsearch/reference/7.14/watcher-api-stats.html

# File lib/elasticsearch/xpack/api/actions/watcher/stats.rb, line 31
def stats(arguments = {})
  headers = arguments.delete(:headers) || {}

  arguments = arguments.clone

  _metric = arguments.delete(:metric)

  method = Elasticsearch::API::HTTP_GET
  path   = if _metric
             "_watcher/stats/#{Elasticsearch::API::Utils.__listify(_metric)}"
           else
             "_watcher/stats"
           end
  params = Elasticsearch::API::Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)

  body = nil
  perform_request(method, path, params, body, headers).body
end
stop(arguments = {}) click to toggle source

Stops Watcher if it is running.

@option arguments [Hash] :headers Custom HTTP headers

@see www.elastic.co/guide/en/elasticsearch/reference/7.14/watcher-api-stop.html

# File lib/elasticsearch/xpack/api/actions/watcher/stop.rb, line 29
def stop(arguments = {})
  headers = arguments.delete(:headers) || {}

  arguments = arguments.clone

  method = Elasticsearch::API::HTTP_POST
  path   = "_watcher/_stop"
  params = {}

  body = nil
  perform_request(method, path, params, body, headers).body
end