elasticsearch-api 9.2.0 → 9.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. checksums.yaml +4 -4
  2. data/elasticsearch-api.gemspec +1 -0
  3. data/lib/elasticsearch/api/actions/async_search/submit.rb +13 -18
  4. data/lib/elasticsearch/api/actions/bulk.rb +2 -1
  5. data/lib/elasticsearch/api/actions/cat/aliases.rb +1 -1
  6. data/lib/elasticsearch/api/actions/cat/circuit_breaker.rb +96 -0
  7. data/lib/elasticsearch/api/actions/cat/count.rb +8 -10
  8. data/lib/elasticsearch/api/actions/cat/indices.rb +1 -1
  9. data/lib/elasticsearch/api/actions/cat/segments.rb +10 -0
  10. data/lib/elasticsearch/api/actions/cat/tasks.rb +3 -4
  11. data/lib/elasticsearch/api/actions/cluster/get_component_template.rb +2 -3
  12. data/lib/elasticsearch/api/actions/cluster/health.rb +25 -12
  13. data/lib/elasticsearch/api/actions/cluster/put_settings.rb +3 -3
  14. data/lib/elasticsearch/api/actions/cluster/reroute.rb +1 -1
  15. data/lib/elasticsearch/api/actions/cluster/state.rb +6 -5
  16. data/lib/elasticsearch/api/actions/connector/check_in.rb +3 -4
  17. data/lib/elasticsearch/api/actions/connector/sync_job_check_in.rb +3 -4
  18. data/lib/elasticsearch/api/actions/connector/sync_job_claim.rb +3 -4
  19. data/lib/elasticsearch/api/actions/connector/sync_job_error.rb +3 -4
  20. data/lib/elasticsearch/api/actions/connector/sync_job_update_stats.rb +3 -4
  21. data/lib/elasticsearch/api/actions/connector/update_active_filtering.rb +3 -4
  22. data/lib/elasticsearch/api/actions/connector/update_error.rb +3 -4
  23. data/lib/elasticsearch/api/actions/connector/update_features.rb +3 -4
  24. data/lib/elasticsearch/api/actions/connector/update_filtering_validation.rb +3 -4
  25. data/lib/elasticsearch/api/actions/connector/update_status.rb +3 -4
  26. data/lib/elasticsearch/api/actions/count.rb +1 -9
  27. data/lib/elasticsearch/api/actions/create.rb +1 -1
  28. data/lib/elasticsearch/api/actions/cross_cluster_replication/forget_follower.rb +1 -1
  29. data/lib/elasticsearch/api/actions/cross_cluster_replication/resume_follow.rb +1 -1
  30. data/lib/elasticsearch/api/actions/dangling_indices/delete_dangling_index.rb +3 -3
  31. data/lib/elasticsearch/api/actions/dangling_indices/import_dangling_index.rb +3 -3
  32. data/lib/elasticsearch/api/actions/delete.rb +1 -1
  33. data/lib/elasticsearch/api/actions/delete_by_query.rb +1 -1
  34. data/lib/elasticsearch/api/actions/delete_by_query_rethrottle.rb +1 -1
  35. data/lib/elasticsearch/api/actions/eql/search.rb +3 -10
  36. data/lib/elasticsearch/api/actions/esql/delete_view.rb +75 -0
  37. data/lib/elasticsearch/api/actions/esql/get_query.rb +3 -4
  38. data/lib/elasticsearch/api/actions/esql/get_view.rb +77 -0
  39. data/lib/elasticsearch/api/actions/esql/list_queries.rb +3 -4
  40. data/lib/elasticsearch/api/actions/esql/put_view.rb +76 -0
  41. data/lib/elasticsearch/api/actions/exists.rb +1 -1
  42. data/lib/elasticsearch/api/actions/exists_source.rb +1 -1
  43. data/lib/elasticsearch/api/actions/explain.rb +1 -1
  44. data/lib/elasticsearch/api/actions/features/reset_features.rb +3 -4
  45. data/lib/elasticsearch/api/actions/field_caps.rb +1 -9
  46. data/lib/elasticsearch/api/actions/fleet/msearch.rb +3 -4
  47. data/lib/elasticsearch/api/actions/fleet/search.rb +4 -5
  48. data/lib/elasticsearch/api/actions/get.rb +1 -1
  49. data/lib/elasticsearch/api/actions/get_source.rb +1 -1
  50. data/lib/elasticsearch/api/actions/graph/explore.rb +1 -1
  51. data/lib/elasticsearch/api/actions/index.rb +4 -1
  52. data/lib/elasticsearch/api/actions/indices/add_block.rb +1 -1
  53. data/lib/elasticsearch/api/actions/indices/cancel_migrate_reindex.rb +0 -4
  54. data/lib/elasticsearch/api/actions/indices/create_from.rb +0 -4
  55. data/lib/elasticsearch/api/actions/indices/data_streams_stats.rb +2 -2
  56. data/lib/elasticsearch/api/actions/indices/delete.rb +1 -1
  57. data/lib/elasticsearch/api/actions/indices/delete_data_lifecycle.rb +5 -4
  58. data/lib/elasticsearch/api/actions/indices/delete_data_stream_options.rb +5 -4
  59. data/lib/elasticsearch/api/actions/indices/delete_sample_configuration.rb +80 -0
  60. data/lib/elasticsearch/api/actions/indices/disk_usage.rb +3 -4
  61. data/lib/elasticsearch/api/actions/indices/downsample.rb +8 -6
  62. data/lib/elasticsearch/api/actions/indices/exists_alias.rb +1 -1
  63. data/lib/elasticsearch/api/actions/indices/explain_data_lifecycle.rb +3 -3
  64. data/lib/elasticsearch/api/actions/indices/field_usage_stats.rb +4 -5
  65. data/lib/elasticsearch/api/actions/indices/forcemerge.rb +5 -4
  66. data/lib/elasticsearch/api/actions/indices/get_alias.rb +1 -1
  67. data/lib/elasticsearch/api/actions/indices/get_all_sample_configuration.rb +68 -0
  68. data/lib/elasticsearch/api/actions/indices/get_index_template.rb +1 -1
  69. data/lib/elasticsearch/api/actions/indices/get_migrate_reindex_status.rb +0 -4
  70. data/lib/elasticsearch/api/actions/indices/get_sample.rb +74 -0
  71. data/lib/elasticsearch/api/actions/indices/get_sample_configuration.rb +78 -0
  72. data/lib/elasticsearch/api/actions/indices/get_sample_stats.rb +74 -0
  73. data/lib/elasticsearch/api/actions/indices/migrate_reindex.rb +0 -4
  74. data/lib/elasticsearch/api/actions/indices/open.rb +1 -1
  75. data/lib/elasticsearch/api/actions/indices/promote_data_stream.rb +1 -1
  76. data/lib/elasticsearch/api/actions/indices/put_index_template.rb +1 -1
  77. data/lib/elasticsearch/api/actions/indices/put_mapping.rb +2 -1
  78. data/lib/elasticsearch/api/actions/indices/put_sample_configuration.rb +82 -0
  79. data/lib/elasticsearch/api/actions/indices/put_template.rb +1 -1
  80. data/lib/elasticsearch/api/actions/indices/reload_search_analyzers.rb +3 -2
  81. data/lib/elasticsearch/api/actions/indices/remove_block.rb +1 -1
  82. data/lib/elasticsearch/api/actions/indices/resolve_index.rb +8 -10
  83. data/lib/elasticsearch/api/actions/indices/stats.rb +2 -2
  84. data/lib/elasticsearch/api/actions/inference/chat_completion_unified.rb +3 -3
  85. data/lib/elasticsearch/api/actions/inference/completion.rb +5 -1
  86. data/lib/elasticsearch/api/actions/inference/delete.rb +3 -2
  87. data/lib/elasticsearch/api/actions/inference/get.rb +2 -1
  88. data/lib/elasticsearch/api/actions/inference/put.rb +5 -2
  89. data/lib/elasticsearch/api/actions/inference/put_groq.rb +79 -0
  90. data/lib/elasticsearch/api/actions/inference/put_nvidia.rb +84 -0
  91. data/lib/elasticsearch/api/actions/inference/put_openshift_ai.rb +84 -0
  92. data/lib/elasticsearch/api/actions/inference/rerank.rb +1 -1
  93. data/lib/elasticsearch/api/actions/inference/sparse_embedding.rb +1 -1
  94. data/lib/elasticsearch/api/actions/inference/stream_completion.rb +1 -1
  95. data/lib/elasticsearch/api/actions/inference/text_embedding.rb +1 -1
  96. data/lib/elasticsearch/api/actions/ingest/get_pipeline.rb +1 -1
  97. data/lib/elasticsearch/api/actions/license/post_start_basic.rb +1 -1
  98. data/lib/elasticsearch/api/actions/license/post_start_trial.rb +2 -2
  99. data/lib/elasticsearch/api/actions/machine_learning/start_data_frame_analytics.rb +2 -1
  100. data/lib/elasticsearch/api/actions/machine_learning/start_trained_model_deployment.rb +1 -1
  101. data/lib/elasticsearch/api/actions/machine_learning/stop_data_frame_analytics.rb +2 -1
  102. data/lib/elasticsearch/api/actions/machine_learning/stop_datafeed.rb +1 -0
  103. data/lib/elasticsearch/api/actions/machine_learning/stop_trained_model_deployment.rb +2 -1
  104. data/lib/elasticsearch/api/actions/mget.rb +1 -1
  105. data/lib/elasticsearch/api/actions/msearch.rb +2 -2
  106. data/lib/elasticsearch/api/actions/mtermvectors.rb +1 -1
  107. data/lib/elasticsearch/api/actions/nodes/clear_repositories_metering_archive.rb +3 -4
  108. data/lib/elasticsearch/api/actions/nodes/get_repositories_metering_info.rb +3 -4
  109. data/lib/elasticsearch/api/actions/nodes/hot_threads.rb +1 -1
  110. data/lib/elasticsearch/api/actions/nodes/stats.rb +1 -1
  111. data/lib/elasticsearch/api/actions/nodes/usage.rb +3 -2
  112. data/lib/elasticsearch/api/actions/open_point_in_time.rb +1 -9
  113. data/lib/elasticsearch/api/actions/project/tags.rb +8 -6
  114. data/lib/elasticsearch/api/actions/rank_eval.rb +1 -1
  115. data/lib/elasticsearch/api/actions/reindex.rb +2 -1
  116. data/lib/elasticsearch/api/actions/reindex_rethrottle.rb +1 -1
  117. data/lib/elasticsearch/api/actions/scripts_painless_execute.rb +3 -4
  118. data/lib/elasticsearch/api/actions/search.rb +1 -9
  119. data/lib/elasticsearch/api/actions/search_application/delete_behavioral_analytics.rb +3 -4
  120. data/lib/elasticsearch/api/actions/search_application/get_behavioral_analytics.rb +3 -4
  121. data/lib/elasticsearch/api/actions/search_application/post_behavioral_analytics_event.rb +3 -4
  122. data/lib/elasticsearch/api/actions/search_application/put_behavioral_analytics.rb +3 -4
  123. data/lib/elasticsearch/api/actions/search_application/render_query.rb +3 -4
  124. data/lib/elasticsearch/api/actions/search_mvt.rb +12 -5
  125. data/lib/elasticsearch/api/actions/search_shards.rb +1 -1
  126. data/lib/elasticsearch/api/actions/search_template.rb +2 -2
  127. data/lib/elasticsearch/api/actions/searchable_snapshots/cache_stats.rb +3 -4
  128. data/lib/elasticsearch/api/actions/searchable_snapshots/clear_cache.rb +6 -6
  129. data/lib/elasticsearch/api/actions/security/clear_cached_privileges.rb +1 -1
  130. data/lib/elasticsearch/api/actions/security/create_service_token.rb +1 -1
  131. data/lib/elasticsearch/api/actions/security/delete_service_token.rb +1 -1
  132. data/lib/elasticsearch/api/actions/simulate/ingest.rb +3 -4
  133. data/lib/elasticsearch/api/actions/snapshot/delete.rb +1 -1
  134. data/lib/elasticsearch/api/actions/snapshot/repository_verify_integrity.rb +3 -4
  135. data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/get_lifecycle.rb +1 -1
  136. data/lib/elasticsearch/api/actions/sql/query.rb +0 -8
  137. data/lib/elasticsearch/api/actions/streams/logs_disable.rb +3 -4
  138. data/lib/elasticsearch/api/actions/streams/logs_enable.rb +3 -4
  139. data/lib/elasticsearch/api/actions/streams/status.rb +3 -4
  140. data/lib/elasticsearch/api/actions/tasks/cancel.rb +3 -4
  141. data/lib/elasticsearch/api/actions/tasks/get.rb +3 -4
  142. data/lib/elasticsearch/api/actions/tasks/list.rb +3 -4
  143. data/lib/elasticsearch/api/actions/terms_enum.rb +1 -1
  144. data/lib/elasticsearch/api/actions/termvectors.rb +1 -1
  145. data/lib/elasticsearch/api/actions/text_structure/find_field_structure.rb +1 -1
  146. data/lib/elasticsearch/api/actions/text_structure/find_message_structure.rb +1 -1
  147. data/lib/elasticsearch/api/actions/text_structure/find_structure.rb +1 -1
  148. data/lib/elasticsearch/api/actions/transform/get_node_stats.rb +15 -3
  149. data/lib/elasticsearch/api/actions/transform/get_transform_stats.rb +1 -1
  150. data/lib/elasticsearch/api/actions/update.rb +1 -1
  151. data/lib/elasticsearch/api/actions/update_by_query.rb +2 -2
  152. data/lib/elasticsearch/api/actions/update_by_query_rethrottle.rb +1 -1
  153. data/lib/elasticsearch/api/actions/watcher/put_watch.rb +2 -2
  154. data/lib/elasticsearch/api/actions/xpack/info.rb +1 -1
  155. data/lib/elasticsearch/api/utils.rb +0 -4
  156. data/lib/elasticsearch/api/version.rb +2 -2
  157. data/lib/elasticsearch/api.rb +1 -0
  158. metadata +29 -2
@@ -0,0 +1,82 @@
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+ #
18
+ # This code was automatically generated from the Elasticsearch Specification
19
+ # See https://github.com/elastic/elasticsearch-specification
20
+ # See Elasticsearch::ES_SPECIFICATION_COMMIT for commit hash.
21
+ module Elasticsearch
22
+ module API
23
+ module Indices
24
+ module Actions
25
+ # Create or update sampling configuration.
26
+ # Create or update the sampling configuration for the specified index.
27
+ # This functionality is in technical preview and may be changed or removed in a future
28
+ # release. Elastic will apply best effort to fix any issues, but features in technical
29
+ # preview are not subject to the support SLA of official GA features.
30
+ #
31
+ # @option arguments [String] :index The name of the index or data stream. (*Required*)
32
+ # @option arguments [Time] :master_timeout Period to wait for a connection to the master node. If no response is
33
+ # received before the timeout expires, the request fails and returns an
34
+ # error. Server default: 30s.
35
+ # @option arguments [Time] :timeout Period to wait for a response.
36
+ # If no response is received before the timeout expires, the request fails and returns an error. Server default: 30s.
37
+ # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors
38
+ # when they occur.
39
+ # @option arguments [String, Array<String>] :filter_path Comma-separated list of filters in dot notation which reduce the response
40
+ # returned by Elasticsearch.
41
+ # @option arguments [Boolean] :human When set to `true` will return statistics in a format suitable for humans.
42
+ # For example `"exists_time": "1h"` for humans and
43
+ # `"exists_time_in_millis": 3600000` for computers. When disabled the human
44
+ # readable values will be omitted. This makes sense for responses being consumed
45
+ # only by machines.
46
+ # @option arguments [Boolean] :pretty If set to `true` the returned JSON will be "pretty-formatted". Only use
47
+ # this option for debugging only.
48
+ # @option arguments [Hash] :headers Custom HTTP headers
49
+ # @option arguments [Hash] :body request body
50
+ #
51
+ # @see https://www.elastic.co/docs/api/doc/elasticsearch#TODO
52
+ #
53
+ def put_sample_configuration(arguments = {})
54
+ request_opts = { endpoint: arguments[:endpoint] || 'indices.put_sample_configuration' }
55
+
56
+ defined_params = [:index].each_with_object({}) do |variable, set_variables|
57
+ set_variables[variable] = arguments[variable] if arguments.key?(variable)
58
+ end
59
+ request_opts[:defined_params] = defined_params unless defined_params.empty?
60
+
61
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
62
+ raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
63
+
64
+ arguments = arguments.clone
65
+ headers = arguments.delete(:headers) || {}
66
+
67
+ body = arguments.delete(:body)
68
+
69
+ _index = arguments.delete(:index)
70
+
71
+ method = Elasticsearch::API::HTTP_PUT
72
+ path = "#{Utils.listify(_index)}/_sample/config"
73
+ params = Utils.process_params(arguments)
74
+
75
+ Elasticsearch::API::Response.new(
76
+ perform_request(method, path, params, body, headers, request_opts)
77
+ )
78
+ end
79
+ end
80
+ end
81
+ end
82
+ end
@@ -45,7 +45,7 @@ module Elasticsearch
45
45
  # @option arguments [Integer] :order Order in which Elasticsearch applies this template if index
46
46
  # matches multiple templates.Templates with lower 'order' values are merged first. Templates with higher
47
47
  # 'order' values are merged later, overriding templates with lower values.
48
- # @option arguments [String] :cause User defined reason for creating/updating the index template Server default: .
48
+ # @option arguments [String] :cause User defined reason for creating or updating the index template Server default: "".
49
49
  # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors
50
50
  # when they occur.
51
51
  # @option arguments [String, Array<String>] :filter_path Comma-separated list of filters in dot notation which reduce the response
@@ -35,8 +35,9 @@ module Elasticsearch
35
35
  # This ensures the synonym file is updated everywhere in the cluster in case shards are relocated in the future.
36
36
  #
37
37
  # @option arguments [String, Array] :index A comma-separated list of index names to reload analyzers for (*Required*)
38
- # @option arguments [Boolean] :allow_no_indices Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified)
39
- # @option arguments [String, Array<String>] :expand_wildcards Whether to expand wildcard expression to concrete indices that are open, closed or both.
38
+ # @option arguments [Boolean] :allow_no_indices Whether to ignore if a wildcard indices expression resolves into no concrete indices.
39
+ # (This includes `_all` string or when no indices have been specified)
40
+ # @option arguments [String, Array<String>] :expand_wildcards Whether to expand wildcard expression to concrete indices that are open, closed or both. Server default: open.
40
41
  # @option arguments [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when unavailable (missing or closed)
41
42
  # @option arguments [String] :resource Changed resource to reload analyzers from if applicable
42
43
  # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors
@@ -26,7 +26,7 @@ module Elasticsearch
26
26
  # Remove an index block from an index.
27
27
  # Index blocks limit the operations allowed on an index by blocking specific operation types.
28
28
  #
29
- # @option arguments [String] :index A comma-separated list or wildcard expression of index names used to limit the request.
29
+ # @option arguments [String, Array] :index A comma-separated list or wildcard expression of index names used to limit the request.
30
30
  # By default, you must explicitly name the indices you are removing blocks from.
31
31
  # To allow the removal of blocks from indices with `_all`, `*`, or other wildcard expressions, change the `action.destructive_requires_name` setting to `false`.
32
32
  # You can update this setting in the `elasticsearch.yml` file or by using the cluster update settings API. (*Required*)
@@ -36,14 +36,6 @@ module Elasticsearch
36
36
  # This behavior applies even if the request targets other open indices.
37
37
  # For example, a request targeting `foo*,bar*` returns an error if an index starts with `foo` but no index starts with `bar`. Server default: true.
38
38
  # @option arguments [String, Array<String>] :mode Filter indices by index mode - standard, lookup, time_series, etc. Comma-separated list of IndexMode. Empty means no filter.
39
- # @option arguments [String] :project_routing Specifies a subset of projects to target using project
40
- # metadata tags in a subset of Lucene query syntax.
41
- # Allowed Lucene queries: the _alias tag and a single value (possibly wildcarded).
42
- # Examples:
43
- # _alias:my-project
44
- # _alias:_origin
45
- # _alias:*pr*
46
- # Supported in serverless only.
47
39
  # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors
48
40
  # when they occur.
49
41
  # @option arguments [String, Array<String>] :filter_path Comma-separated list of filters in dot notation which reduce the response
@@ -56,6 +48,7 @@ module Elasticsearch
56
48
  # @option arguments [Boolean] :pretty If set to `true` the returned JSON will be "pretty-formatted". Only use
57
49
  # this option for debugging only.
58
50
  # @option arguments [Hash] :headers Custom HTTP headers
51
+ # @option arguments [Hash] :body request body
59
52
  #
60
53
  # @see https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-resolve-index
61
54
  #
@@ -72,11 +65,16 @@ module Elasticsearch
72
65
  arguments = arguments.clone
73
66
  headers = arguments.delete(:headers) || {}
74
67
 
75
- body = nil
68
+ body = arguments.delete(:body)
76
69
 
77
70
  _name = arguments.delete(:name)
78
71
 
79
- method = Elasticsearch::API::HTTP_GET
72
+ method = if body
73
+ Elasticsearch::API::HTTP_POST
74
+ else
75
+ Elasticsearch::API::HTTP_GET
76
+ end
77
+
80
78
  path = "_resolve/index/#{Utils.listify(_name)}"
81
79
  params = Utils.process_params(arguments)
82
80
 
@@ -31,12 +31,12 @@ module Elasticsearch
31
31
  # NOTE: When moving to another node, the shard-level statistics for a shard are cleared.
32
32
  # Although the shard is no longer part of the node, that node retains any node-level statistics to which the shard contributed.
33
33
  #
34
- # @option arguments [String, Array<String>] :metric Limit the information returned the specific metrics.
34
+ # @option arguments [String, Array<String>] :metric Limit the information returned the specific metrics
35
35
  # @option arguments [String, Array] :index A comma-separated list of index names; use `_all` or empty string to perform the operation on all indices
36
36
  # @option arguments [String, Array<String>] :completion_fields Comma-separated list or wildcard expressions of fields to include in fielddata and suggest statistics.
37
37
  # @option arguments [String, Array<String>] :expand_wildcards Type of index that wildcard patterns can match. If the request can target data streams, this argument
38
38
  # determines whether wildcard expressions match hidden data streams. Supports comma-separated values,
39
- # such as `open,hidden`.
39
+ # such as `open,hidden`. Server default: open.
40
40
  # @option arguments [String, Array<String>] :fielddata_fields Comma-separated list or wildcard expressions of fields to include in fielddata statistics.
41
41
  # @option arguments [String, Array<String>] :fields Comma-separated list or wildcard expressions of fields to include in the statistics.
42
42
  # @option arguments [Boolean] :forbid_closed_indices If true, statistics are not collected from closed indices. Server default: true.
@@ -22,13 +22,13 @@ module Elasticsearch
22
22
  module API
23
23
  module Inference
24
24
  module Actions
25
- # Perform chat completion inference
25
+ # Perform chat completion inference on the service.
26
26
  # The chat completion inference API enables real-time responses for chat completion tasks by delivering answers incrementally, reducing response times during computation.
27
- # It only works with the `chat_completion` task type for `openai` and `elastic` inference services.
27
+ # It only works with the `chat_completion` task type.
28
28
  # NOTE: The `chat_completion` task type is only available within the _stream API and only supports streaming.
29
29
  # The Chat completion inference API and the Stream inference API differ in their response structure and capabilities.
30
30
  # The Chat completion inference API provides more comprehensive customization options through more fields and function calling support.
31
- # If you use the `openai`, `hugging_face` or the `elastic` service, use the Chat completion inference API.
31
+ # To determine whether a given inference service supports this task type, please see the page for that service.
32
32
  #
33
33
  # @option arguments [String] :inference_id The inference Id (*Required*)
34
34
  # @option arguments [Time] :timeout Specifies the amount of time to wait for the inference request to complete. Server default: 30s.
@@ -22,7 +22,11 @@ module Elasticsearch
22
22
  module API
23
23
  module Inference
24
24
  module Actions
25
- # Perform completion inference on the service
25
+ # Perform completion inference on the service.
26
+ # Get responses for completion tasks.
27
+ # This API works only with the completion task type.
28
+ # IMPORTANT: The inference APIs enable you to use certain services, such as built-in machine learning models (ELSER, E5), models uploaded through Eland, Cohere, OpenAI, Azure, Google AI Studio, Google Vertex AI, Anthropic, Watsonx.ai, or Hugging Face. For built-in models and models uploaded through Eland, the inference APIs offer an alternative way to use and manage trained models. However, if you do not plan to use the inference APIs to use these models or if you want to use non-NLP models, use the machine learning trained model APIs.
29
+ # This API requires the `monitor_inference` cluster privilege (the built-in `inference_admin` and `inference_user` roles grant this privilege).
26
30
  #
27
31
  # @option arguments [String] :inference_id The inference Id (*Required*)
28
32
  # @option arguments [Time] :timeout Specifies the amount of time to wait for the inference request to complete. Server default: 30s.
@@ -22,11 +22,12 @@ module Elasticsearch
22
22
  module API
23
23
  module Inference
24
24
  module Actions
25
- # Delete an inference endpoint
25
+ # Delete an inference endpoint.
26
+ # This API requires the manage_inference cluster privilege (the built-in `inference_admin` role grants this privilege).
26
27
  #
27
28
  # @option arguments [String] :task_type The task type
28
29
  # @option arguments [String] :inference_id The inference identifier. (*Required*)
29
- # @option arguments [Boolean] :dry_run When true, the endpoint is not deleted and a list of ingest processors which reference this endpoint is returned.
30
+ # @option arguments [Boolean] :dry_run When true, checks the semantic_text fields and inference processors that reference the endpoint and returns them in a list, but does not delete the endpoint.
30
31
  # @option arguments [Boolean] :force When true, the inference endpoint is forcefully deleted even if it is still being used by ingest processors or semantic text fields.
31
32
  # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors
32
33
  # when they occur.
@@ -22,7 +22,8 @@ module Elasticsearch
22
22
  module API
23
23
  module Inference
24
24
  module Actions
25
- # Get an inference endpoint
25
+ # Get an inference endpoint.
26
+ # This API requires the `monitor_inference` cluster privilege (the built-in `inference_admin` and `inference_user` roles grant this privilege).
26
27
  #
27
28
  # @option arguments [String] :task_type The task type
28
29
  # @option arguments [String] :inference_id The inference Id
@@ -32,19 +32,22 @@ module Elasticsearch
32
32
  # * Amazon Bedrock (`completion`, `text_embedding`)
33
33
  # * Amazon SageMaker (`chat_completion`, `completion`, `rerank`, `sparse_embedding`, `text_embedding`)
34
34
  # * Anthropic (`completion`)
35
- # * Azure AI Studio (`completion`, 'rerank', `text_embedding`)
36
- # * Azure OpenAI (`completion`, `text_embedding`)
35
+ # * Azure AI Studio (`completion`, `rerank`, `text_embedding`)
36
+ # * Azure OpenAI (`chat_completion`, `completion`, `text_embedding`)
37
37
  # * Cohere (`completion`, `rerank`, `text_embedding`)
38
38
  # * DeepSeek (`chat_completion`, `completion`)
39
39
  # * Elasticsearch (`rerank`, `sparse_embedding`, `text_embedding` - this service is for built-in models and models uploaded through Eland)
40
40
  # * ELSER (`sparse_embedding`)
41
41
  # * Google AI Studio (`completion`, `text_embedding`)
42
42
  # * Google Vertex AI (`chat_completion`, `completion`, `rerank`, `text_embedding`)
43
+ # * Groq (`chat_completion`)
43
44
  # * Hugging Face (`chat_completion`, `completion`, `rerank`, `text_embedding`)
44
45
  # * JinaAI (`rerank`, `text_embedding`)
45
46
  # * Llama (`chat_completion`, `completion`, `text_embedding`)
46
47
  # * Mistral (`chat_completion`, `completion`, `text_embedding`)
48
+ # * Nvidia (`chat_completion`, `completion`, `text_embedding`, `rerank`)
47
49
  # * OpenAI (`chat_completion`, `completion`, `text_embedding`)
50
+ # * OpenShift AI (`chat_completion`, `completion`, `rerank`, `text_embedding`)
48
51
  # * VoyageAI (`rerank`, `text_embedding`)
49
52
  # * Watsonx inference integration (`text_embedding`)
50
53
  #
@@ -0,0 +1,79 @@
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+ #
18
+ # This code was automatically generated from the Elasticsearch Specification
19
+ # See https://github.com/elastic/elasticsearch-specification
20
+ # See Elasticsearch::ES_SPECIFICATION_COMMIT for commit hash.
21
+ module Elasticsearch
22
+ module API
23
+ module Inference
24
+ module Actions
25
+ # Create a Groq inference endpoint.
26
+ # Create an inference endpoint to perform an inference task with the `groq` service.
27
+ #
28
+ # @option arguments [String] :task_type The type of the inference task that the model will perform. (*Required*)
29
+ # @option arguments [String] :groq_inference_id The unique identifier of the inference endpoint. (*Required*)
30
+ # @option arguments [Time] :timeout Specifies the amount of time to wait for the inference endpoint to be created. Server default: 30s.
31
+ # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors
32
+ # when they occur.
33
+ # @option arguments [String, Array<String>] :filter_path Comma-separated list of filters in dot notation which reduce the response
34
+ # returned by Elasticsearch.
35
+ # @option arguments [Boolean] :human When set to `true` will return statistics in a format suitable for humans.
36
+ # For example `"exists_time": "1h"` for humans and
37
+ # `"exists_time_in_millis": 3600000` for computers. When disabled the human
38
+ # readable values will be omitted. This makes sense for responses being consumed
39
+ # only by machines.
40
+ # @option arguments [Boolean] :pretty If set to `true` the returned JSON will be "pretty-formatted". Only use
41
+ # this option for debugging only.
42
+ # @option arguments [Hash] :headers Custom HTTP headers
43
+ # @option arguments [Hash] :body request body
44
+ #
45
+ # @see https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-inference-put-groq
46
+ #
47
+ def put_groq(arguments = {})
48
+ request_opts = { endpoint: arguments[:endpoint] || 'inference.put_groq' }
49
+
50
+ defined_params = [:task_type, :groq_inference_id].each_with_object({}) do |variable, set_variables|
51
+ set_variables[variable] = arguments[variable] if arguments.key?(variable)
52
+ end
53
+ request_opts[:defined_params] = defined_params unless defined_params.empty?
54
+
55
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
56
+ raise ArgumentError, "Required argument 'task_type' missing" unless arguments[:task_type]
57
+ raise ArgumentError, "Required argument 'groq_inference_id' missing" unless arguments[:groq_inference_id]
58
+
59
+ arguments = arguments.clone
60
+ headers = arguments.delete(:headers) || {}
61
+
62
+ body = arguments.delete(:body)
63
+
64
+ _task_type = arguments.delete(:task_type)
65
+
66
+ _groq_inference_id = arguments.delete(:groq_inference_id)
67
+
68
+ method = Elasticsearch::API::HTTP_PUT
69
+ path = "_inference/#{Utils.listify(_task_type)}/#{Utils.listify(_groq_inference_id)}"
70
+ params = Utils.process_params(arguments)
71
+
72
+ Elasticsearch::API::Response.new(
73
+ perform_request(method, path, params, body, headers, request_opts)
74
+ )
75
+ end
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,84 @@
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+ #
18
+ # This code was automatically generated from the Elasticsearch Specification
19
+ # See https://github.com/elastic/elasticsearch-specification
20
+ # See Elasticsearch::ES_SPECIFICATION_COMMIT for commit hash.
21
+ module Elasticsearch
22
+ module API
23
+ module Inference
24
+ module Actions
25
+ # Create an Nvidia inference endpoint.
26
+ # Create an inference endpoint to perform an inference task with the `nvidia` service.
27
+ #
28
+ # @option arguments [String] :task_type The type of the inference task that the model will perform.
29
+ # NOTE: The `chat_completion` task type only supports streaming and only through the _stream API. (*Required*)
30
+ # @option arguments [String] :nvidia_inference_id The unique identifier of the inference endpoint. (*Required*)
31
+ # @option arguments [Time] :timeout Specifies the amount of time to wait for the inference endpoint to be created. Server default: 30s.
32
+ # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors
33
+ # when they occur.
34
+ # @option arguments [String, Array<String>] :filter_path Comma-separated list of filters in dot notation which reduce the response
35
+ # returned by Elasticsearch.
36
+ # @option arguments [Boolean] :human When set to `true` will return statistics in a format suitable for humans.
37
+ # For example `"exists_time": "1h"` for humans and
38
+ # `"exists_time_in_millis": 3600000` for computers. When disabled the human
39
+ # readable values will be omitted. This makes sense for responses being consumed
40
+ # only by machines.
41
+ # @option arguments [Boolean] :pretty If set to `true` the returned JSON will be "pretty-formatted". Only use
42
+ # this option for debugging only.
43
+ # @option arguments [Hash] :headers Custom HTTP headers
44
+ # @option arguments [Hash] :body request body
45
+ #
46
+ # @see https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-inference-put-nvidia
47
+ #
48
+ def put_nvidia(arguments = {})
49
+ request_opts = { endpoint: arguments[:endpoint] || 'inference.put_nvidia' }
50
+
51
+ defined_params = [:task_type, :nvidia_inference_id].each_with_object({}) do |variable, set_variables|
52
+ set_variables[variable] = arguments[variable] if arguments.key?(variable)
53
+ end
54
+ request_opts[:defined_params] = defined_params unless defined_params.empty?
55
+
56
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
57
+ raise ArgumentError, "Required argument 'task_type' missing" unless arguments[:task_type]
58
+
59
+ unless arguments[:nvidia_inference_id]
60
+ raise ArgumentError,
61
+ "Required argument 'nvidia_inference_id' missing"
62
+ end
63
+
64
+ arguments = arguments.clone
65
+ headers = arguments.delete(:headers) || {}
66
+
67
+ body = arguments.delete(:body)
68
+
69
+ _task_type = arguments.delete(:task_type)
70
+
71
+ _nvidia_inference_id = arguments.delete(:nvidia_inference_id)
72
+
73
+ method = Elasticsearch::API::HTTP_PUT
74
+ path = "_inference/#{Utils.listify(_task_type)}/#{Utils.listify(_nvidia_inference_id)}"
75
+ params = Utils.process_params(arguments)
76
+
77
+ Elasticsearch::API::Response.new(
78
+ perform_request(method, path, params, body, headers, request_opts)
79
+ )
80
+ end
81
+ end
82
+ end
83
+ end
84
+ end
@@ -0,0 +1,84 @@
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+ #
18
+ # This code was automatically generated from the Elasticsearch Specification
19
+ # See https://github.com/elastic/elasticsearch-specification
20
+ # See Elasticsearch::ES_SPECIFICATION_COMMIT for commit hash.
21
+ module Elasticsearch
22
+ module API
23
+ module Inference
24
+ module Actions
25
+ # Create an OpenShift AI inference endpoint.
26
+ # Create an inference endpoint to perform an inference task with the `openshift_ai` service.
27
+ #
28
+ # @option arguments [String] :task_type The type of the inference task that the model will perform.
29
+ # NOTE: The `chat_completion` task type only supports streaming and only through the _stream API. (*Required*)
30
+ # @option arguments [String] :openshiftai_inference_id The unique identifier of the inference endpoint. (*Required*)
31
+ # @option arguments [Time] :timeout Specifies the amount of time to wait for the inference endpoint to be created. Server default: 30s.
32
+ # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors
33
+ # when they occur.
34
+ # @option arguments [String, Array<String>] :filter_path Comma-separated list of filters in dot notation which reduce the response
35
+ # returned by Elasticsearch.
36
+ # @option arguments [Boolean] :human When set to `true` will return statistics in a format suitable for humans.
37
+ # For example `"exists_time": "1h"` for humans and
38
+ # `"exists_time_in_millis": 3600000` for computers. When disabled the human
39
+ # readable values will be omitted. This makes sense for responses being consumed
40
+ # only by machines.
41
+ # @option arguments [Boolean] :pretty If set to `true` the returned JSON will be "pretty-formatted". Only use
42
+ # this option for debugging only.
43
+ # @option arguments [Hash] :headers Custom HTTP headers
44
+ # @option arguments [Hash] :body request body
45
+ #
46
+ # @see https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-inference-put-openshift-ai
47
+ #
48
+ def put_openshift_ai(arguments = {})
49
+ request_opts = { endpoint: arguments[:endpoint] || 'inference.put_openshift_ai' }
50
+
51
+ defined_params = [:task_type, :openshiftai_inference_id].each_with_object({}) do |variable, set_variables|
52
+ set_variables[variable] = arguments[variable] if arguments.key?(variable)
53
+ end
54
+ request_opts[:defined_params] = defined_params unless defined_params.empty?
55
+
56
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
57
+ raise ArgumentError, "Required argument 'task_type' missing" unless arguments[:task_type]
58
+
59
+ unless arguments[:openshiftai_inference_id]
60
+ raise ArgumentError,
61
+ "Required argument 'openshiftai_inference_id' missing"
62
+ end
63
+
64
+ arguments = arguments.clone
65
+ headers = arguments.delete(:headers) || {}
66
+
67
+ body = arguments.delete(:body)
68
+
69
+ _task_type = arguments.delete(:task_type)
70
+
71
+ _openshiftai_inference_id = arguments.delete(:openshiftai_inference_id)
72
+
73
+ method = Elasticsearch::API::HTTP_PUT
74
+ path = "_inference/#{Utils.listify(_task_type)}/#{Utils.listify(_openshiftai_inference_id)}"
75
+ params = Utils.process_params(arguments)
76
+
77
+ Elasticsearch::API::Response.new(
78
+ perform_request(method, path, params, body, headers, request_opts)
79
+ )
80
+ end
81
+ end
82
+ end
83
+ end
84
+ end
@@ -22,7 +22,7 @@ module Elasticsearch
22
22
  module API
23
23
  module Inference
24
24
  module Actions
25
- # Perform reranking inference on the service
25
+ # Perform reranking inference on the service.
26
26
  #
27
27
  # @option arguments [String] :inference_id The unique identifier for the inference endpoint. (*Required*)
28
28
  # @option arguments [Time] :timeout The amount of time to wait for the inference request to complete. Server default: 30s.
@@ -22,7 +22,7 @@ module Elasticsearch
22
22
  module API
23
23
  module Inference
24
24
  module Actions
25
- # Perform sparse embedding inference on the service
25
+ # Perform sparse embedding inference on the service.
26
26
  #
27
27
  # @option arguments [String] :inference_id The inference Id (*Required*)
28
28
  # @option arguments [Time] :timeout Specifies the amount of time to wait for the inference request to complete. Server default: 30s.
@@ -22,7 +22,7 @@ module Elasticsearch
22
22
  module API
23
23
  module Inference
24
24
  module Actions
25
- # Perform streaming inference.
25
+ # Perform streaming completion inference on the service.
26
26
  # Get real-time responses for completion tasks by delivering answers incrementally, reducing response times during computation.
27
27
  # This API works only with the completion task type.
28
28
  # IMPORTANT: The inference APIs enable you to use certain services, such as built-in machine learning models (ELSER, E5), models uploaded through Eland, Cohere, OpenAI, Azure, Google AI Studio, Google Vertex AI, Anthropic, Watsonx.ai, or Hugging Face. For built-in models and models uploaded through Eland, the inference APIs offer an alternative way to use and manage trained models. However, if you do not plan to use the inference APIs to use these models or if you want to use non-NLP models, use the machine learning trained model APIs.
@@ -22,7 +22,7 @@ module Elasticsearch
22
22
  module API
23
23
  module Inference
24
24
  module Actions
25
- # Perform text embedding inference on the service
25
+ # Perform text embedding inference on the service.
26
26
  #
27
27
  # @option arguments [String] :inference_id The inference Id (*Required*)
28
28
  # @option arguments [Time] :timeout Specifies the amount of time to wait for the inference request to complete. Server default: 30s.
@@ -31,7 +31,7 @@ module Elasticsearch
31
31
  # To get all ingest pipelines, omit this parameter or use `*`.
32
32
  # @option arguments [Time] :master_timeout Period to wait for a connection to the master node.
33
33
  # If no response is received before the timeout expires, the request fails and returns an error. Server default: 30s.
34
- # @option arguments [Boolean] :summary Return pipelines without their definitions (default: false)
34
+ # @option arguments [Boolean] :summary Return pipelines without their definitions
35
35
  # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors
36
36
  # when they occur.
37
37
  # @option arguments [String, Array<String>] :filter_path Comma-separated list of filters in dot notation which reduce the response
@@ -29,7 +29,7 @@ module Elasticsearch
29
29
  # You must then re-submit the API request with the `acknowledge` parameter set to `true`.
30
30
  # To check the status of your basic license, use the get basic license API.
31
31
  #
32
- # @option arguments [Boolean] :acknowledge whether the user has acknowledged acknowledge messages (default: false)
32
+ # @option arguments [Boolean] :acknowledge Whether the user has acknowledged acknowledge messages
33
33
  # @option arguments [Time] :master_timeout Period to wait for a connection to the master node. Server default: 30s.
34
34
  # @option arguments [Time] :timeout Period to wait for a response. If no response is received before the timeout expires, the request fails and returns an error. Server default: 30s.
35
35
  # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors
@@ -28,8 +28,8 @@ module Elasticsearch
28
28
  # For example, if you have already activated a trial for v8.0, you cannot start a new trial until v9.0. You can, however, request an extended trial at https://www.elastic.co/trialextension.
29
29
  # To check the status of your trial, use the get trial status API.
30
30
  #
31
- # @option arguments [Boolean] :acknowledge whether the user has acknowledged acknowledge messages (default: false)
32
- # @option arguments [String] :type The type of trial license to generate (default: "trial")
31
+ # @option arguments [Boolean] :acknowledge Whether the user has acknowledged acknowledge messages
32
+ # @option arguments [String] :type The type of trial license to generate Server default: trial.
33
33
  # @option arguments [Time] :master_timeout Period to wait for a connection to the master node. Server default: 30s.
34
34
  # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors
35
35
  # when they occur.
@@ -52,6 +52,7 @@ module Elasticsearch
52
52
  # @option arguments [Boolean] :pretty If set to `true` the returned JSON will be "pretty-formatted". Only use
53
53
  # this option for debugging only.
54
54
  # @option arguments [Hash] :headers Custom HTTP headers
55
+ # @option arguments [Hash] :body request body
55
56
  #
56
57
  # @see https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ml-start-data-frame-analytics
57
58
  #
@@ -68,7 +69,7 @@ module Elasticsearch
68
69
  arguments = arguments.clone
69
70
  headers = arguments.delete(:headers) || {}
70
71
 
71
- body = nil
72
+ body = arguments.delete(:body)
72
73
 
73
74
  _id = arguments.delete(:id)
74
75
 
@@ -37,7 +37,7 @@ module Elasticsearch
37
37
  # If this setting is greater than the number of hardware threads
38
38
  # it will automatically be changed to a value less than the number of hardware threads.
39
39
  # If adaptive_allocations is enabled, do not set this value, because it’s automatically set. Server default: 1.
40
- # @option arguments [String] :priority The deployment priority.
40
+ # @option arguments [String] :priority The deployment priority
41
41
  # @option arguments [Integer] :queue_capacity Specifies the number of inference requests that are allowed in the queue. After the number of requests exceeds
42
42
  # this value, new requests are rejected with a 429 error. Server default: 1024.
43
43
  # @option arguments [Integer] :threads_per_allocation Sets the number of threads used by each model allocation during inference. This generally increases
@@ -53,6 +53,7 @@ module Elasticsearch
53
53
  # @option arguments [Boolean] :pretty If set to `true` the returned JSON will be "pretty-formatted". Only use
54
54
  # this option for debugging only.
55
55
  # @option arguments [Hash] :headers Custom HTTP headers
56
+ # @option arguments [Hash] :body request body
56
57
  #
57
58
  # @see https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ml-stop-data-frame-analytics
58
59
  #
@@ -69,7 +70,7 @@ module Elasticsearch
69
70
  arguments = arguments.clone
70
71
  headers = arguments.delete(:headers) || {}
71
72
 
72
- body = nil
73
+ body = arguments.delete(:body)
73
74
 
74
75
  _id = arguments.delete(:id)
75
76