module Elasticsearch::API::Rollup::Actions

Public Instance Methods

delete_job(arguments = {}) click to toggle source

Deletes an existing rollup job. This functionality is Experimental and may be changed or removed completely in a future release. Elastic will take a best effort approach to fix any issues, but experimental features are not subject to the support SLA of official GA features.

@option arguments [String] :id The ID of the job to delete @option arguments [Hash] :headers Custom HTTP headers

@see www.elastic.co/guide/en/elasticsearch/reference/8.16/rollup-delete-job.html

# File lib/elasticsearch/api/actions/rollup/delete_job.rb, line 36
def delete_job(arguments = {})
  request_opts = { endpoint: arguments[:endpoint] || 'rollup.delete_job' }

  defined_params = [:id].each_with_object({}) do |variable, set_variables|
    set_variables[variable] = arguments[variable] if arguments.key?(variable)
  end
  request_opts[:defined_params] = defined_params unless defined_params.empty?

  raise ArgumentError, "Required argument 'id' missing" unless arguments[:id]

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

  body = nil

  _id = arguments.delete(:id)

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

  Elasticsearch::API::Response.new(
    perform_request(method, path, params, body, headers, request_opts)
  )
end
get_jobs(arguments = {}) click to toggle source

Retrieves the configuration, stats, and status of rollup jobs. This functionality is Experimental and may be changed or removed completely in a future release. Elastic will take a best effort approach to fix any issues, but experimental features are not subject to the support SLA of official GA features.

@option arguments [String] :id The ID of the job(s) to fetch. Accepts glob patterns, or left blank for all jobs @option arguments [Hash] :headers Custom HTTP headers

@see www.elastic.co/guide/en/elasticsearch/reference/8.16/rollup-get-job.html

# File lib/elasticsearch/api/actions/rollup/get_jobs.rb, line 36
def get_jobs(arguments = {})
  request_opts = { endpoint: arguments[:endpoint] || 'rollup.get_jobs' }

  defined_params = [:id].each_with_object({}) do |variable, set_variables|
    set_variables[variable] = arguments[variable] if arguments.key?(variable)
  end
  request_opts[:defined_params] = defined_params unless defined_params.empty?

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

  body = nil

  _id = arguments.delete(:id)

  method = Elasticsearch::API::HTTP_GET
  path   = if _id
             "_rollup/job/#{Utils.__listify(_id)}"
           else
             '_rollup/job'
           end
  params = {}

  Elasticsearch::API::Response.new(
    perform_request(method, path, params, body, headers, request_opts)
  )
end
get_rollup_caps(arguments = {}) click to toggle source

Returns the capabilities of any rollup jobs that have been configured for a specific index or index pattern. This functionality is Experimental and may be changed or removed completely in a future release. Elastic will take a best effort approach to fix any issues, but experimental features are not subject to the support SLA of official GA features.

@option arguments [String] :id The ID of the index to check rollup capabilities on, or left blank for all jobs @option arguments [Hash] :headers Custom HTTP headers

@see www.elastic.co/guide/en/elasticsearch/reference/8.16/rollup-get-rollup-caps.html

# File lib/elasticsearch/api/actions/rollup/get_rollup_caps.rb, line 36
def get_rollup_caps(arguments = {})
  request_opts = { endpoint: arguments[:endpoint] || 'rollup.get_rollup_caps' }

  defined_params = [:id].each_with_object({}) do |variable, set_variables|
    set_variables[variable] = arguments[variable] if arguments.key?(variable)
  end
  request_opts[:defined_params] = defined_params unless defined_params.empty?

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

  body = nil

  _id = arguments.delete(:id)

  method = Elasticsearch::API::HTTP_GET
  path   = if _id
             "_rollup/data/#{Utils.__listify(_id)}"
           else
             '_rollup/data'
           end
  params = {}

  Elasticsearch::API::Response.new(
    perform_request(method, path, params, body, headers, request_opts)
  )
end
get_rollup_index_caps(arguments = {}) click to toggle source

Returns the rollup capabilities of all jobs inside of a rollup index (e.g. the index where rollup data is stored). This functionality is Experimental and may be changed or removed completely in a future release. Elastic will take a best effort approach to fix any issues, but experimental features are not subject to the support SLA of official GA features.

@option arguments [String] :index The rollup index or index pattern to obtain rollup capabilities from. @option arguments [Hash] :headers Custom HTTP headers

@see www.elastic.co/guide/en/elasticsearch/reference/8.16/rollup-get-rollup-index-caps.html

# File lib/elasticsearch/api/actions/rollup/get_rollup_index_caps.rb, line 36
def get_rollup_index_caps(arguments = {})
  request_opts = { endpoint: arguments[:endpoint] || 'rollup.get_rollup_index_caps' }

  defined_params = [:index].each_with_object({}) do |variable, set_variables|
    set_variables[variable] = arguments[variable] if arguments.key?(variable)
  end
  request_opts[:defined_params] = defined_params unless defined_params.empty?

  raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]

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

  body   = nil

  _index = arguments.delete(:index)

  method = Elasticsearch::API::HTTP_GET
  path   = "#{Utils.__listify(_index)}/_rollup/data"
  params = {}

  Elasticsearch::API::Response.new(
    perform_request(method, path, params, body, headers, request_opts)
  )
end
put_job(arguments = {}) click to toggle source

Creates a rollup job. This functionality is Experimental and may be changed or removed completely in a future release. Elastic will take a best effort approach to fix any issues, but experimental features are not subject to the support SLA of official GA features.

@option arguments [String] :id The ID of the job to create @option arguments [Hash] :headers Custom HTTP headers @option arguments [Hash] :body The job configuration (Required)

@see www.elastic.co/guide/en/elasticsearch/reference/8.16/rollup-put-job.html

# File lib/elasticsearch/api/actions/rollup/put_job.rb, line 37
def put_job(arguments = {})
  request_opts = { endpoint: arguments[:endpoint] || 'rollup.put_job' }

  defined_params = [:id].each_with_object({}) do |variable, set_variables|
    set_variables[variable] = arguments[variable] if arguments.key?(variable)
  end
  request_opts[:defined_params] = defined_params unless defined_params.empty?

  raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
  raise ArgumentError, "Required argument 'id' missing" unless arguments[:id]

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

  body = arguments.delete(:body)

  _id = arguments.delete(:id)

  method = Elasticsearch::API::HTTP_PUT
  path   = "_rollup/job/#{Utils.__listify(_id)}"
  params = {}

  Elasticsearch::API::Response.new(
    perform_request(method, path, params, body, headers, request_opts)
  )
end
start_job(arguments = {}) click to toggle source

Starts an existing, stopped rollup job. This functionality is Experimental and may be changed or removed completely in a future release. Elastic will take a best effort approach to fix any issues, but experimental features are not subject to the support SLA of official GA features.

@option arguments [String] :id The ID of the job to start @option arguments [Hash] :headers Custom HTTP headers

@see www.elastic.co/guide/en/elasticsearch/reference/8.16/rollup-start-job.html

# File lib/elasticsearch/api/actions/rollup/start_job.rb, line 36
def start_job(arguments = {})
  request_opts = { endpoint: arguments[:endpoint] || 'rollup.start_job' }

  defined_params = [:id].each_with_object({}) do |variable, set_variables|
    set_variables[variable] = arguments[variable] if arguments.key?(variable)
  end
  request_opts[:defined_params] = defined_params unless defined_params.empty?

  raise ArgumentError, "Required argument 'id' missing" unless arguments[:id]

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

  body = nil

  _id = arguments.delete(:id)

  method = Elasticsearch::API::HTTP_POST
  path   = "_rollup/job/#{Utils.__listify(_id)}/_start"
  params = {}

  Elasticsearch::API::Response.new(
    perform_request(method, path, params, body, headers, request_opts)
  )
end
stop_job(arguments = {}) click to toggle source

Stops an existing, started rollup job. This functionality is Experimental and may be changed or removed completely in a future release. Elastic will take a best effort approach to fix any issues, but experimental features are not subject to the support SLA of official GA features.

@option arguments [String] :id The ID of the job to stop @option arguments [Boolean] :wait_for_completion True if the API should block until the job has fully stopped, false if should be executed async. Defaults to false. @option arguments [Time] :timeout Block for (at maximum) the specified duration while waiting for the job to stop. Defaults to 30s. @option arguments [Hash] :headers Custom HTTP headers

@see www.elastic.co/guide/en/elasticsearch/reference/8.16/rollup-stop-job.html

# File lib/elasticsearch/api/actions/rollup/stop_job.rb, line 38
def stop_job(arguments = {})
  request_opts = { endpoint: arguments[:endpoint] || 'rollup.stop_job' }

  defined_params = [:id].each_with_object({}) do |variable, set_variables|
    set_variables[variable] = arguments[variable] if arguments.key?(variable)
  end
  request_opts[:defined_params] = defined_params unless defined_params.empty?

  raise ArgumentError, "Required argument 'id' missing" unless arguments[:id]

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

  body = nil

  _id = arguments.delete(:id)

  method = Elasticsearch::API::HTTP_POST
  path   = "_rollup/job/#{Utils.__listify(_id)}/_stop"
  params = Utils.process_params(arguments)

  Elasticsearch::API::Response.new(
    perform_request(method, path, params, body, headers, request_opts)
  )
end