Module: Elasticsearch::XPack::API::Rollup::Actions

Included in:
RollupClient
Defined in:
lib/elasticsearch/xpack/api/namespace/rollup.rb,
lib/elasticsearch/xpack/api/actions/rollup/rollup.rb,
lib/elasticsearch/xpack/api/actions/rollup/put_job.rb,
lib/elasticsearch/xpack/api/actions/rollup/get_jobs.rb,
lib/elasticsearch/xpack/api/actions/rollup/stop_job.rb,
lib/elasticsearch/xpack/api/actions/rollup/start_job.rb,
lib/elasticsearch/xpack/api/actions/rollup/delete_job.rb,
lib/elasticsearch/xpack/api/actions/rollup/rollup_search.rb,
lib/elasticsearch/xpack/api/actions/rollup/get_rollup_caps.rb,
lib/elasticsearch/xpack/api/actions/rollup/params_registry.rb,
lib/elasticsearch/xpack/api/actions/rollup/get_rollup_index_caps.rb

Defined Under Namespace

Modules: ParamsRegistry

Instance Method Summary collapse

Instance Method Details

#delete_job(arguments = {}) ⇒ Object

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.

Parameters:

  • arguments (Hash) (defaults to: {})

    a customizable set of options

Options Hash (arguments):

  • :id (String)

    The ID of the job to delete

  • :headers (Hash)

    Custom HTTP headers

Raises:

  • (ArgumentError)

See Also:



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/elasticsearch/xpack/api/actions/rollup/delete_job.rb', line 34

def delete_job(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   = "_rollup/job/#{Elasticsearch::API::Utils.__listify(_id)}"
  params = {}

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

#get_jobs(arguments = {}) ⇒ Object

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.

Parameters:

  • arguments (Hash) (defaults to: {})

    a customizable set of options

Options Hash (arguments):

  • :id (String)

    The ID of the job(s) to fetch. Accepts glob patterns, or left blank for all jobs

  • :headers (Hash)

    Custom HTTP headers

See Also:



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/elasticsearch/xpack/api/actions/rollup/get_jobs.rb', line 34

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

  arguments = arguments.clone

  _id = arguments.delete(:id)

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

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

#get_rollup_caps(arguments = {}) ⇒ Object

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.

Parameters:

  • arguments (Hash) (defaults to: {})

    a customizable set of options

Options Hash (arguments):

  • :id (String)

    The ID of the index to check rollup capabilities on, or left blank for all jobs

  • :headers (Hash)

    Custom HTTP headers

See Also:



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/elasticsearch/xpack/api/actions/rollup/get_rollup_caps.rb', line 34

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

  arguments = arguments.clone

  _id = arguments.delete(:id)

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

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

#get_rollup_index_caps(arguments = {}) ⇒ Object

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.

Parameters:

  • arguments (Hash) (defaults to: {})

    a customizable set of options

Options Hash (arguments):

  • :index (String)

    The rollup index or index pattern to obtain rollup capabilities from.

  • :headers (Hash)

    Custom HTTP headers

Raises:

  • (ArgumentError)

See Also:



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/elasticsearch/xpack/api/actions/rollup/get_rollup_index_caps.rb', line 34

def get_rollup_index_caps(arguments = {})
  raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]

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

  arguments = arguments.clone

  _index = arguments.delete(:index)

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

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

#put_job(arguments = {}) ⇒ Object

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.

Parameters:

  • arguments (Hash) (defaults to: {})

    a customizable set of options

Options Hash (arguments):

  • :id (String)

    The ID of the job to create

  • :headers (Hash)

    Custom HTTP headers

  • :body (Hash)

    The job configuration (Required)

Raises:

  • (ArgumentError)

See Also:



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/elasticsearch/xpack/api/actions/rollup/put_job.rb', line 35

def put_job(arguments = {})
  raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
  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   = "_rollup/job/#{Elasticsearch::API::Utils.__listify(_id)}"
  params = {}

  body = arguments[:body]
  perform_request(method, path, params, body, headers).body
end

#rollup(arguments = {}) ⇒ Object

Rollup an index 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.

Parameters:

  • arguments (Hash) (defaults to: {})

    a customizable set of options

Options Hash (arguments):

  • :index (String)

    The index to roll up (Required)

  • :rollup_index (String)

    The name of the rollup index to create (Required)

  • :headers (Hash)

    Custom HTTP headers

  • :body (Hash)

    The rollup configuration (Required)

Raises:

  • (ArgumentError)

See Also:



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/elasticsearch/xpack/api/actions/rollup/rollup.rb', line 36

def rollup(arguments = {})
  raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
  raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
  raise ArgumentError, "Required argument 'rollup_index' missing" unless arguments[:rollup_index]

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

  arguments = arguments.clone

  _index = arguments.delete(:index)

  _rollup_index = arguments.delete(:rollup_index)

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

  body = arguments[:body]
  perform_request(method, path, params, body, headers).body
end

#rollup_search(arguments = {}) ⇒ Object

Enables searching rolled-up data using the standard query DSL. 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.

*Deprecation notice*: Specifying types in urls has been deprecated Deprecated since version 7.0.0

Parameters:

  • arguments (Hash) (defaults to: {})

    a customizable set of options

Options Hash (arguments):

  • :index (List)

    The indices or index-pattern(s) (containing rollup or regular data) that should be searched

  • :type (String)

    The doc type inside the index Deprecated

  • :typed_keys (Boolean)

    Specify whether aggregation and suggester names should be prefixed by their respective types in the response

  • :rest_total_hits_as_int (Boolean)

    Indicates whether hits.total should be rendered as an integer or an object in the rest search response

  • :headers (Hash)

    Custom HTTP headers

  • :body (Hash)

    The search request body (Required)

Raises:

  • (ArgumentError)

See Also:



43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/elasticsearch/xpack/api/actions/rollup/rollup_search.rb', line 43

def rollup_search(arguments = {})
  raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
  raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]

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

  arguments = arguments.clone

  _index = arguments.delete(:index)

  _type = arguments.delete(:type)

  method = Elasticsearch::API::HTTP_POST
  path   = if _index && _type
             "#{Elasticsearch::API::Utils.__listify(_index)}/#{Elasticsearch::API::Utils.__listify(_type)}/_rollup_search"
           else
             "#{Elasticsearch::API::Utils.__listify(_index)}/_rollup_search"
           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

#start_job(arguments = {}) ⇒ Object

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.

Parameters:

  • arguments (Hash) (defaults to: {})

    a customizable set of options

Options Hash (arguments):

  • :id (String)

    The ID of the job to start

  • :headers (Hash)

    Custom HTTP headers

Raises:

  • (ArgumentError)

See Also:



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/elasticsearch/xpack/api/actions/rollup/start_job.rb', line 34

def start_job(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_POST
  path   = "_rollup/job/#{Elasticsearch::API::Utils.__listify(_id)}/_start"
  params = {}

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

#stop_job(arguments = {}) ⇒ Object

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.

Parameters:

  • arguments (Hash) (defaults to: {})

    a customizable set of options

Options Hash (arguments):

  • :id (String)

    The ID of the job to stop

  • :wait_for_completion (Boolean)

    True if the API should block until the job has fully stopped, false if should be executed async. Defaults to false.

  • :timeout (Time)

    Block for (at maximum) the specified duration while waiting for the job to stop. Defaults to 30s.

  • :headers (Hash)

    Custom HTTP headers

Raises:

  • (ArgumentError)

See Also:



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/elasticsearch/xpack/api/actions/rollup/stop_job.rb', line 36

def stop_job(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_POST
  path   = "_rollup/job/#{Elasticsearch::API::Utils.__listify(_id)}/_stop"
  params = Elasticsearch::API::Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)

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