elasticsearch-serverless 0.5.0 → 0.7.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 (250) hide show
  1. checksums.yaml +4 -4
  2. data/lib/elasticsearch-serverless/api/async_search/delete.rb +3 -4
  3. data/lib/elasticsearch-serverless/api/async_search/get.rb +4 -5
  4. data/lib/elasticsearch-serverless/api/async_search/status.rb +11 -8
  5. data/lib/elasticsearch-serverless/api/async_search/submit.rb +6 -10
  6. data/lib/elasticsearch-serverless/api/bulk.rb +109 -22
  7. data/lib/elasticsearch-serverless/api/cat/aliases.rb +17 -18
  8. data/lib/elasticsearch-serverless/api/cat/component_templates.rb +17 -16
  9. data/lib/elasticsearch-serverless/api/cat/count.rb +13 -18
  10. data/lib/elasticsearch-serverless/api/cat/help.rb +5 -19
  11. data/lib/elasticsearch-serverless/api/cat/indices.rb +10 -15
  12. data/lib/elasticsearch-serverless/api/cat/ml_data_frame_analytics.rb +7 -17
  13. data/lib/elasticsearch-serverless/api/cat/ml_datafeeds.rb +6 -16
  14. data/lib/elasticsearch-serverless/api/cat/ml_jobs.rb +6 -16
  15. data/lib/elasticsearch-serverless/api/cat/ml_trained_models.rb +7 -16
  16. data/lib/elasticsearch-serverless/api/cat/transforms.rb +6 -16
  17. data/lib/elasticsearch-serverless/api/clear_scroll.rb +9 -7
  18. data/lib/elasticsearch-serverless/api/close_point_in_time.rb +8 -4
  19. data/lib/elasticsearch-serverless/api/cluster/delete_component_template.rb +3 -5
  20. data/lib/elasticsearch-serverless/api/cluster/exists_component_template.rb +4 -5
  21. data/lib/elasticsearch-serverless/api/cluster/get_component_template.rb +5 -6
  22. data/lib/elasticsearch-serverless/api/cluster/info.rb +3 -4
  23. data/lib/elasticsearch-serverless/api/cluster/put_component_template.rb +6 -5
  24. data/lib/elasticsearch-serverless/api/connector/check_in.rb +3 -4
  25. data/lib/elasticsearch-serverless/api/connector/delete.rb +4 -4
  26. data/lib/elasticsearch-serverless/api/connector/get.rb +5 -5
  27. data/lib/elasticsearch-serverless/api/connector/list.rb +4 -3
  28. data/lib/elasticsearch-serverless/api/connector/post.rb +3 -3
  29. data/lib/elasticsearch-serverless/api/connector/put.rb +4 -5
  30. data/lib/elasticsearch-serverless/api/connector/sync_job_cancel.rb +7 -6
  31. data/lib/elasticsearch-serverless/api/connector/sync_job_delete.rb +7 -6
  32. data/lib/elasticsearch-serverless/api/connector/sync_job_get.rb +7 -6
  33. data/lib/elasticsearch-serverless/api/connector/sync_job_list.rb +3 -3
  34. data/lib/elasticsearch-serverless/api/connector/sync_job_post.rb +3 -3
  35. data/lib/elasticsearch-serverless/api/connector/update_active_filtering.rb +3 -4
  36. data/lib/elasticsearch-serverless/api/connector/update_api_key_id.rb +3 -4
  37. data/lib/elasticsearch-serverless/api/connector/update_configuration.rb +3 -4
  38. data/lib/elasticsearch-serverless/api/connector/update_error.rb +3 -4
  39. data/lib/elasticsearch-serverless/api/connector/update_filtering.rb +3 -4
  40. data/lib/elasticsearch-serverless/api/connector/update_filtering_validation.rb +2 -3
  41. data/lib/elasticsearch-serverless/api/connector/update_index_name.rb +3 -4
  42. data/lib/elasticsearch-serverless/api/connector/update_name.rb +3 -4
  43. data/lib/elasticsearch-serverless/api/connector/update_native.rb +2 -3
  44. data/lib/elasticsearch-serverless/api/connector/update_pipeline.rb +3 -4
  45. data/lib/elasticsearch-serverless/api/connector/update_scheduling.rb +3 -4
  46. data/lib/elasticsearch-serverless/api/connector/update_service_type.rb +3 -4
  47. data/lib/elasticsearch-serverless/api/connector/update_status.rb +3 -4
  48. data/lib/elasticsearch-serverless/api/count.rb +36 -25
  49. data/lib/elasticsearch-serverless/api/create.rb +77 -22
  50. data/lib/elasticsearch-serverless/api/delete.rb +44 -18
  51. data/lib/elasticsearch-serverless/api/delete_by_query.rb +91 -29
  52. data/lib/elasticsearch-serverless/api/delete_script.rb +10 -9
  53. data/lib/elasticsearch-serverless/api/enrich/delete_policy.rb +5 -5
  54. data/lib/elasticsearch-serverless/api/enrich/execute_policy.rb +6 -5
  55. data/lib/elasticsearch-serverless/api/enrich/get_policy.rb +6 -6
  56. data/lib/elasticsearch-serverless/api/enrich/put_policy.rb +5 -5
  57. data/lib/elasticsearch-serverless/api/eql/delete.rb +5 -5
  58. data/lib/elasticsearch-serverless/api/eql/get.rb +5 -5
  59. data/lib/elasticsearch-serverless/api/eql/get_status.rb +5 -5
  60. data/lib/elasticsearch-serverless/api/eql/search.rb +9 -5
  61. data/lib/elasticsearch-serverless/api/exists.rb +38 -19
  62. data/lib/elasticsearch-serverless/api/exists_source.rb +23 -18
  63. data/lib/elasticsearch-serverless/api/explain.rb +25 -16
  64. data/lib/elasticsearch-serverless/api/field_caps.rb +16 -13
  65. data/lib/elasticsearch-serverless/api/get.rb +71 -21
  66. data/lib/elasticsearch-serverless/api/get_script.rb +7 -6
  67. data/lib/elasticsearch-serverless/api/get_source.rb +25 -15
  68. data/lib/elasticsearch-serverless/api/graph/explore.rb +9 -5
  69. data/lib/elasticsearch-serverless/api/index.rb +110 -21
  70. data/lib/elasticsearch-serverless/api/indices/add_block.rb +23 -12
  71. data/lib/elasticsearch-serverless/api/indices/analyze.rb +9 -6
  72. data/lib/elasticsearch-serverless/api/indices/create.rb +19 -6
  73. data/lib/elasticsearch-serverless/api/indices/create_data_stream.rb +3 -5
  74. data/lib/elasticsearch-serverless/api/indices/delete.rb +11 -8
  75. data/lib/elasticsearch-serverless/api/indices/delete_alias.rb +4 -7
  76. data/lib/elasticsearch-serverless/api/indices/delete_data_stream.rb +3 -4
  77. data/lib/elasticsearch-serverless/api/indices/delete_index_template.rb +3 -4
  78. data/lib/elasticsearch-serverless/api/indices/exists.rb +7 -8
  79. data/lib/elasticsearch-serverless/api/indices/exists_alias.rb +8 -8
  80. data/lib/elasticsearch-serverless/api/indices/exists_index_template.rb +6 -6
  81. data/lib/elasticsearch-serverless/api/indices/explain_data_lifecycle.rb +4 -5
  82. data/lib/elasticsearch-serverless/api/indices/get.rb +5 -6
  83. data/lib/elasticsearch-serverless/api/indices/get_alias.rb +6 -6
  84. data/lib/elasticsearch-serverless/api/indices/get_data_lifecycle.rb +4 -5
  85. data/lib/elasticsearch-serverless/api/indices/get_data_stream.rb +5 -6
  86. data/lib/elasticsearch-serverless/api/indices/get_index_template.rb +5 -6
  87. data/lib/elasticsearch-serverless/api/indices/get_mapping.rb +4 -6
  88. data/lib/elasticsearch-serverless/api/indices/get_settings.rb +6 -7
  89. data/lib/elasticsearch-serverless/api/indices/migrate_to_data_stream.rb +3 -4
  90. data/lib/elasticsearch-serverless/api/indices/modify_data_stream.rb +3 -3
  91. data/lib/elasticsearch-serverless/api/indices/put_alias.rb +4 -7
  92. data/lib/elasticsearch-serverless/api/indices/put_data_lifecycle.rb +4 -6
  93. data/lib/elasticsearch-serverless/api/indices/put_index_template.rb +22 -4
  94. data/lib/elasticsearch-serverless/api/indices/put_mapping.rb +21 -6
  95. data/lib/elasticsearch-serverless/api/indices/put_settings.rb +17 -7
  96. data/lib/elasticsearch-serverless/api/indices/refresh.rb +11 -5
  97. data/lib/elasticsearch-serverless/api/indices/resolve_index.rb +5 -5
  98. data/lib/elasticsearch-serverless/api/indices/rollover.rb +28 -5
  99. data/lib/elasticsearch-serverless/api/indices/simulate_index_template.rb +4 -5
  100. data/lib/elasticsearch-serverless/api/indices/simulate_template.rb +5 -6
  101. data/lib/elasticsearch-serverless/api/indices/update_aliases.rb +3 -3
  102. data/lib/elasticsearch-serverless/api/indices/validate_query.rb +4 -5
  103. data/lib/elasticsearch-serverless/api/inference/chat_completion_unified.rb +62 -0
  104. data/lib/elasticsearch-serverless/api/inference/completion.rb +62 -0
  105. data/lib/elasticsearch-serverless/api/inference/delete.rb +6 -11
  106. data/lib/elasticsearch-serverless/api/inference/get.rb +4 -9
  107. data/lib/elasticsearch-serverless/api/inference/inference.rb +0 -4
  108. data/lib/elasticsearch-serverless/api/inference/put.rb +12 -9
  109. data/lib/elasticsearch-serverless/api/inference/put_watsonx.rb +78 -0
  110. data/lib/elasticsearch-serverless/api/inference/rerank.rb +62 -0
  111. data/lib/elasticsearch-serverless/api/inference/sparse_embedding.rb +62 -0
  112. data/lib/elasticsearch-serverless/api/inference/text_embedding.rb +62 -0
  113. data/lib/elasticsearch-serverless/api/info.rb +4 -4
  114. data/lib/elasticsearch-serverless/api/ingest/delete_pipeline.rb +5 -5
  115. data/lib/elasticsearch-serverless/api/ingest/get_pipeline.rb +6 -6
  116. data/lib/elasticsearch-serverless/api/ingest/processor_grok.rb +5 -4
  117. data/lib/elasticsearch-serverless/api/ingest/put_pipeline.rb +3 -4
  118. data/lib/elasticsearch-serverless/api/ingest/simulate.rb +9 -8
  119. data/lib/elasticsearch-serverless/api/license/get.rb +4 -5
  120. data/lib/elasticsearch-serverless/api/logstash/delete_pipeline.rb +7 -6
  121. data/lib/elasticsearch-serverless/api/logstash/get_pipeline.rb +7 -7
  122. data/lib/elasticsearch-serverless/api/logstash/put_pipeline.rb +7 -6
  123. data/lib/elasticsearch-serverless/api/machine_learning/close_job.rb +3 -4
  124. data/lib/elasticsearch-serverless/api/machine_learning/delete_calendar.rb +4 -5
  125. data/lib/elasticsearch-serverless/api/machine_learning/delete_calendar_event.rb +3 -4
  126. data/lib/elasticsearch-serverless/api/machine_learning/delete_calendar_job.rb +3 -4
  127. data/lib/elasticsearch-serverless/api/machine_learning/delete_data_frame_analytics.rb +3 -4
  128. data/lib/elasticsearch-serverless/api/machine_learning/delete_datafeed.rb +3 -4
  129. data/lib/elasticsearch-serverless/api/machine_learning/delete_filter.rb +3 -4
  130. data/lib/elasticsearch-serverless/api/machine_learning/delete_job.rb +3 -4
  131. data/lib/elasticsearch-serverless/api/machine_learning/delete_trained_model.rb +4 -4
  132. data/lib/elasticsearch-serverless/api/machine_learning/delete_trained_model_alias.rb +3 -4
  133. data/lib/elasticsearch-serverless/api/machine_learning/estimate_model_memory.rb +5 -5
  134. data/lib/elasticsearch-serverless/api/machine_learning/evaluate_data_frame.rb +3 -3
  135. data/lib/elasticsearch-serverless/api/machine_learning/flush_job.rb +3 -4
  136. data/lib/elasticsearch-serverless/api/machine_learning/get_calendar_events.rb +3 -4
  137. data/lib/elasticsearch-serverless/api/machine_learning/get_calendars.rb +4 -5
  138. data/lib/elasticsearch-serverless/api/machine_learning/get_data_frame_analytics.rb +4 -5
  139. data/lib/elasticsearch-serverless/api/machine_learning/get_data_frame_analytics_stats.rb +4 -5
  140. data/lib/elasticsearch-serverless/api/machine_learning/get_datafeed_stats.rb +4 -5
  141. data/lib/elasticsearch-serverless/api/machine_learning/get_datafeeds.rb +4 -5
  142. data/lib/elasticsearch-serverless/api/machine_learning/get_filters.rb +4 -5
  143. data/lib/elasticsearch-serverless/api/machine_learning/get_job_stats.rb +4 -5
  144. data/lib/elasticsearch-serverless/api/machine_learning/get_jobs.rb +4 -5
  145. data/lib/elasticsearch-serverless/api/machine_learning/get_overall_buckets.rb +3 -4
  146. data/lib/elasticsearch-serverless/api/machine_learning/get_trained_models.rb +4 -5
  147. data/lib/elasticsearch-serverless/api/machine_learning/get_trained_models_stats.rb +4 -5
  148. data/lib/elasticsearch-serverless/api/machine_learning/infer_trained_model.rb +3 -9
  149. data/lib/elasticsearch-serverless/api/machine_learning/open_job.rb +3 -4
  150. data/lib/elasticsearch-serverless/api/machine_learning/post_calendar_events.rb +3 -4
  151. data/lib/elasticsearch-serverless/api/machine_learning/preview_data_frame_analytics.rb +5 -6
  152. data/lib/elasticsearch-serverless/api/machine_learning/preview_datafeed.rb +4 -5
  153. data/lib/elasticsearch-serverless/api/machine_learning/put_calendar.rb +3 -4
  154. data/lib/elasticsearch-serverless/api/machine_learning/put_calendar_job.rb +3 -4
  155. data/lib/elasticsearch-serverless/api/machine_learning/put_data_frame_analytics.rb +6 -4
  156. data/lib/elasticsearch-serverless/api/machine_learning/put_datafeed.rb +6 -6
  157. data/lib/elasticsearch-serverless/api/machine_learning/put_filter.rb +3 -4
  158. data/lib/elasticsearch-serverless/api/machine_learning/put_job.rb +16 -5
  159. data/lib/elasticsearch-serverless/api/machine_learning/put_trained_model.rb +3 -4
  160. data/lib/elasticsearch-serverless/api/machine_learning/put_trained_model_alias.rb +3 -4
  161. data/lib/elasticsearch-serverless/api/machine_learning/put_trained_model_definition_part.rb +3 -4
  162. data/lib/elasticsearch-serverless/api/machine_learning/put_trained_model_vocabulary.rb +3 -4
  163. data/lib/elasticsearch-serverless/api/machine_learning/reset_job.rb +3 -4
  164. data/lib/elasticsearch-serverless/api/machine_learning/start_data_frame_analytics.rb +3 -4
  165. data/lib/elasticsearch-serverless/api/machine_learning/start_datafeed.rb +3 -4
  166. data/lib/elasticsearch-serverless/api/machine_learning/start_trained_model_deployment.rb +7 -6
  167. data/lib/elasticsearch-serverless/api/machine_learning/stop_data_frame_analytics.rb +3 -4
  168. data/lib/elasticsearch-serverless/api/machine_learning/stop_datafeed.rb +3 -4
  169. data/lib/elasticsearch-serverless/api/machine_learning/stop_trained_model_deployment.rb +3 -4
  170. data/lib/elasticsearch-serverless/api/machine_learning/update_data_frame_analytics.rb +3 -4
  171. data/lib/elasticsearch-serverless/api/machine_learning/update_datafeed.rb +3 -4
  172. data/lib/elasticsearch-serverless/api/machine_learning/update_filter.rb +3 -4
  173. data/lib/elasticsearch-serverless/api/machine_learning/update_job.rb +3 -4
  174. data/lib/elasticsearch-serverless/api/machine_learning/update_trained_model_deployment.rb +3 -4
  175. data/lib/elasticsearch-serverless/api/mget.rb +12 -5
  176. data/lib/elasticsearch-serverless/api/msearch.rb +16 -17
  177. data/lib/elasticsearch-serverless/api/msearch_template.rb +23 -16
  178. data/lib/elasticsearch-serverless/api/mtermvectors.rb +15 -12
  179. data/lib/elasticsearch-serverless/api/open_point_in_time.rb +33 -11
  180. data/lib/elasticsearch-serverless/api/ping.rb +8 -10
  181. data/lib/elasticsearch-serverless/api/put_script.rb +12 -11
  182. data/lib/elasticsearch-serverless/api/query_rules/delete_rule.rb +6 -5
  183. data/lib/elasticsearch-serverless/api/query_rules/delete_ruleset.rb +6 -5
  184. data/lib/elasticsearch-serverless/api/query_rules/get_rule.rb +5 -5
  185. data/lib/elasticsearch-serverless/api/query_rules/get_ruleset.rb +5 -5
  186. data/lib/elasticsearch-serverless/api/query_rules/list_rulesets.rb +7 -6
  187. data/lib/elasticsearch-serverless/api/query_rules/put_rule.rb +11 -7
  188. data/lib/elasticsearch-serverless/api/query_rules/put_ruleset.rb +11 -6
  189. data/lib/elasticsearch-serverless/api/query_rules/test.rb +5 -5
  190. data/lib/elasticsearch-serverless/api/rank_eval.rb +8 -7
  191. data/lib/elasticsearch-serverless/api/reindex.rb +146 -9
  192. data/lib/elasticsearch-serverless/api/render_search_template.rb +7 -7
  193. data/lib/elasticsearch-serverless/api/response.rb +1 -1
  194. data/lib/elasticsearch-serverless/api/scripts_painless_execute.rb +7 -3
  195. data/lib/elasticsearch-serverless/api/scroll.rb +4 -4
  196. data/lib/elasticsearch-serverless/api/search.rb +79 -72
  197. data/lib/elasticsearch-serverless/api/search_application/delete.rb +4 -5
  198. data/lib/elasticsearch-serverless/api/search_application/delete_behavioral_analytics.rb +3 -4
  199. data/lib/elasticsearch-serverless/api/search_application/get.rb +3 -4
  200. data/lib/elasticsearch-serverless/api/search_application/get_behavioral_analytics.rb +4 -5
  201. data/lib/elasticsearch-serverless/api/search_application/list.rb +5 -4
  202. data/lib/elasticsearch-serverless/api/search_application/put.rb +3 -4
  203. data/lib/elasticsearch-serverless/api/search_application/put_behavioral_analytics.rb +3 -4
  204. data/lib/elasticsearch-serverless/api/search_application/search.rb +3 -4
  205. data/lib/elasticsearch-serverless/api/search_mvt.rb +132 -10
  206. data/lib/elasticsearch-serverless/api/search_template.rb +13 -13
  207. data/lib/elasticsearch-serverless/api/security/authenticate.rb +3 -3
  208. data/lib/elasticsearch-serverless/api/security/create_api_key.rb +7 -3
  209. data/lib/elasticsearch-serverless/api/security/delete_role.rb +6 -5
  210. data/lib/elasticsearch-serverless/api/security/get_api_key.rb +3 -3
  211. data/lib/elasticsearch-serverless/api/security/get_builtin_privileges.rb +3 -3
  212. data/lib/elasticsearch-serverless/api/security/get_role.rb +11 -8
  213. data/lib/elasticsearch-serverless/api/security/has_privileges.rb +6 -5
  214. data/lib/elasticsearch-serverless/api/security/invalidate_api_key.rb +8 -6
  215. data/lib/elasticsearch-serverless/api/security/put_role.rb +3 -4
  216. data/lib/elasticsearch-serverless/api/security/query_api_keys.rb +12 -6
  217. data/lib/elasticsearch-serverless/api/security/query_role.rb +61 -0
  218. data/lib/elasticsearch-serverless/api/security/update_api_key.rb +74 -0
  219. data/lib/elasticsearch-serverless/api/sql/clear_cursor.rb +4 -4
  220. data/lib/elasticsearch-serverless/api/sql/delete_async.rb +10 -6
  221. data/lib/elasticsearch-serverless/api/sql/get_async.rb +16 -13
  222. data/lib/elasticsearch-serverless/api/sql/get_async_status.rb +6 -6
  223. data/lib/elasticsearch-serverless/api/sql/query.rb +8 -5
  224. data/lib/elasticsearch-serverless/api/sql/translate.rb +6 -4
  225. data/lib/elasticsearch-serverless/api/synonyms/delete_synonym.rb +17 -6
  226. data/lib/elasticsearch-serverless/api/synonyms/delete_synonym_rule.rb +7 -7
  227. data/lib/elasticsearch-serverless/api/synonyms/get_synonym.rb +7 -8
  228. data/lib/elasticsearch-serverless/api/synonyms/get_synonym_rule.rb +7 -7
  229. data/lib/elasticsearch-serverless/api/synonyms/get_synonyms_sets.rb +7 -6
  230. data/lib/elasticsearch-serverless/api/synonyms/put_synonym.rb +9 -6
  231. data/lib/elasticsearch-serverless/api/synonyms/put_synonym_rule.rb +9 -7
  232. data/lib/elasticsearch-serverless/api/tasks/get.rb +9 -7
  233. data/lib/elasticsearch-serverless/api/terms_enum.rb +7 -9
  234. data/lib/elasticsearch-serverless/api/termvectors.rb +40 -17
  235. data/lib/elasticsearch-serverless/api/transform/delete_transform.rb +3 -5
  236. data/lib/elasticsearch-serverless/api/transform/get_transform.rb +5 -6
  237. data/lib/elasticsearch-serverless/api/transform/get_transform_stats.rb +4 -5
  238. data/lib/elasticsearch-serverless/api/transform/preview_transform.rb +4 -5
  239. data/lib/elasticsearch-serverless/api/transform/put_transform.rb +3 -4
  240. data/lib/elasticsearch-serverless/api/transform/reset_transform.rb +4 -5
  241. data/lib/elasticsearch-serverless/api/transform/schedule_now_transform.rb +7 -8
  242. data/lib/elasticsearch-serverless/api/transform/start_transform.rb +3 -5
  243. data/lib/elasticsearch-serverless/api/transform/stop_transform.rb +3 -4
  244. data/lib/elasticsearch-serverless/api/transform/update_transform.rb +3 -4
  245. data/lib/elasticsearch-serverless/api/update.rb +36 -24
  246. data/lib/elasticsearch-serverless/api/update_by_query.rb +102 -31
  247. data/lib/elasticsearch-serverless/api.rb +22 -25
  248. data/lib/elasticsearch-serverless/version.rb +1 -1
  249. data/lib/elasticsearch-serverless.rb +7 -0
  250. metadata +18 -7
@@ -23,21 +23,20 @@ module ElasticsearchServerless
23
23
  module Indices
24
24
  module Actions
25
25
  # Simulate an index.
26
- # Returns the index configuration that would be applied to the specified index from an existing index template.
26
+ # Get the index configuration that would be applied to the specified index from an existing index template.
27
27
  #
28
28
  # @option arguments [String] :name Name of the index to simulate (*Required*)
29
29
  # @option arguments [Time] :master_timeout Period to wait for a connection to the master node. If no response is received before the timeout expires, the request fails and returns an error. Server default: 30s.
30
30
  # @option arguments [Boolean] :include_defaults If true, returns all relevant default configurations for the index template.
31
31
  # @option arguments [Hash] :headers Custom HTTP headers
32
32
  #
33
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-simulate-index.html
33
+ # @see https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-simulate-index-template
34
34
  #
35
35
  def simulate_index_template(arguments = {})
36
- request_opts = { endpoint: arguments[:endpoint] || "indices.simulate_index_template" }
36
+ request_opts = { endpoint: arguments[:endpoint] || 'indices.simulate_index_template' }
37
37
 
38
- defined_params = [:name].inject({}) do |set_variables, variable|
38
+ defined_params = [:name].each_with_object({}) do |variable, set_variables|
39
39
  set_variables[variable] = arguments[variable] if arguments.key?(variable)
40
- set_variables
41
40
  end
42
41
  request_opts[:defined_params] = defined_params unless defined_params.empty?
43
42
 
@@ -23,7 +23,7 @@ module ElasticsearchServerless
23
23
  module Indices
24
24
  module Actions
25
25
  # Simulate an index template.
26
- # Returns the index configuration that would be applied by a particular index template.
26
+ # Get the index configuration that would be applied by a particular index template.
27
27
  #
28
28
  # @option arguments [String] :name Name of the index template to simulate. To test a template configuration before you add it to the cluster, omit
29
29
  # this parameter and specify the template configuration in the request body.
@@ -33,14 +33,13 @@ module ElasticsearchServerless
33
33
  # @option arguments [Hash] :headers Custom HTTP headers
34
34
  # @option arguments [Hash] :body request body
35
35
  #
36
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-simulate-template.html
36
+ # @see https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-simulate-template
37
37
  #
38
38
  def simulate_template(arguments = {})
39
- request_opts = { endpoint: arguments[:endpoint] || "indices.simulate_template" }
39
+ request_opts = { endpoint: arguments[:endpoint] || 'indices.simulate_template' }
40
40
 
41
- defined_params = [:name].inject({}) do |set_variables, variable|
41
+ defined_params = [:name].each_with_object({}) do |variable, set_variables|
42
42
  set_variables[variable] = arguments[variable] if arguments.key?(variable)
43
- set_variables
44
43
  end
45
44
  request_opts[:defined_params] = defined_params unless defined_params.empty?
46
45
 
@@ -55,7 +54,7 @@ module ElasticsearchServerless
55
54
  path = if _name
56
55
  "_index_template/_simulate/#{Utils.listify(_name)}"
57
56
  else
58
- "_index_template/_simulate"
57
+ '_index_template/_simulate'
59
58
  end
60
59
  params = Utils.process_params(arguments)
61
60
 
@@ -32,10 +32,10 @@ module ElasticsearchServerless
32
32
  # @option arguments [Hash] :headers Custom HTTP headers
33
33
  # @option arguments [Hash] :body request body
34
34
  #
35
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-aliases.html
35
+ # @see https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-update-aliases
36
36
  #
37
37
  def update_aliases(arguments = {})
38
- request_opts = { endpoint: arguments[:endpoint] || "indices.update_aliases" }
38
+ request_opts = { endpoint: arguments[:endpoint] || 'indices.update_aliases' }
39
39
 
40
40
  raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
41
41
 
@@ -45,7 +45,7 @@ module ElasticsearchServerless
45
45
  body = arguments.delete(:body)
46
46
 
47
47
  method = ElasticsearchServerless::API::HTTP_POST
48
- path = "_aliases"
48
+ path = '_aliases'
49
49
  params = Utils.process_params(arguments)
50
50
 
51
51
  ElasticsearchServerless::API::Response.new(
@@ -49,14 +49,13 @@ module ElasticsearchServerless
49
49
  # @option arguments [Hash] :headers Custom HTTP headers
50
50
  # @option arguments [Hash] :body request body
51
51
  #
52
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/master/search-validate.html
52
+ # @see https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-validate-query
53
53
  #
54
54
  def validate_query(arguments = {})
55
- request_opts = { endpoint: arguments[:endpoint] || "indices.validate_query" }
55
+ request_opts = { endpoint: arguments[:endpoint] || 'indices.validate_query' }
56
56
 
57
- defined_params = [:index].inject({}) do |set_variables, variable|
57
+ defined_params = [:index].each_with_object({}) do |variable, set_variables|
58
58
  set_variables[variable] = arguments[variable] if arguments.key?(variable)
59
- set_variables
60
59
  end
61
60
  request_opts[:defined_params] = defined_params unless defined_params.empty?
62
61
 
@@ -76,7 +75,7 @@ module ElasticsearchServerless
76
75
  path = if _index
77
76
  "#{Utils.listify(_index)}/_validate/query"
78
77
  else
79
- "_validate/query"
78
+ '_validate/query'
80
79
  end
81
80
  params = Utils.process_params(arguments)
82
81
 
@@ -0,0 +1,62 @@
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
+ # Auto generated from commit f284cc16f4d4b4289bc679aa1529bb504190fe80
19
+ # @see https://github.com/elastic/elasticsearch-specification
20
+ #
21
+ module ElasticsearchServerless
22
+ module API
23
+ module Inference
24
+ module Actions
25
+ # Perform chat completion inference
26
+ #
27
+ # @option arguments [String] :inference_id The inference Id (*Required*)
28
+ # @option arguments [Time] :timeout Specifies the amount of time to wait for the inference request to complete. Server default: 30s.
29
+ # @option arguments [Hash] :headers Custom HTTP headers
30
+ # @option arguments [Hash] :body request body
31
+ #
32
+ # @see https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-inference-unified-inference
33
+ #
34
+ def chat_completion_unified(arguments = {})
35
+ request_opts = { endpoint: arguments[:endpoint] || 'inference.chat_completion_unified' }
36
+
37
+ defined_params = [:inference_id].each_with_object({}) do |variable, set_variables|
38
+ set_variables[variable] = arguments[variable] if arguments.key?(variable)
39
+ end
40
+ request_opts[:defined_params] = defined_params unless defined_params.empty?
41
+
42
+ raise ArgumentError, "Required argument 'inference_id' missing" unless arguments[:inference_id]
43
+
44
+ arguments = arguments.clone
45
+ headers = arguments.delete(:headers) || {}
46
+
47
+ body = arguments.delete(:body)
48
+
49
+ _inference_id = arguments.delete(:inference_id)
50
+
51
+ method = ElasticsearchServerless::API::HTTP_POST
52
+ path = "_inference/chat_completion/#{Utils.listify(_inference_id)}/_stream"
53
+ params = Utils.process_params(arguments)
54
+
55
+ ElasticsearchServerless::API::Response.new(
56
+ perform_request(method, path, params, body, headers, request_opts)
57
+ )
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,62 @@
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
+ # Auto generated from commit f284cc16f4d4b4289bc679aa1529bb504190fe80
19
+ # @see https://github.com/elastic/elasticsearch-specification
20
+ #
21
+ module ElasticsearchServerless
22
+ module API
23
+ module Inference
24
+ module Actions
25
+ # Perform completion inference on the service
26
+ #
27
+ # @option arguments [String] :inference_id The inference Id (*Required*)
28
+ # @option arguments [Time] :timeout Specifies the amount of time to wait for the inference request to complete. Server default: 30s.
29
+ # @option arguments [Hash] :headers Custom HTTP headers
30
+ # @option arguments [Hash] :body request body
31
+ #
32
+ # @see https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-inference-inference
33
+ #
34
+ def completion(arguments = {})
35
+ request_opts = { endpoint: arguments[:endpoint] || 'inference.completion' }
36
+
37
+ defined_params = [:inference_id].each_with_object({}) do |variable, set_variables|
38
+ set_variables[variable] = arguments[variable] if arguments.key?(variable)
39
+ end
40
+ request_opts[:defined_params] = defined_params unless defined_params.empty?
41
+
42
+ raise ArgumentError, "Required argument 'inference_id' missing" unless arguments[:inference_id]
43
+
44
+ arguments = arguments.clone
45
+ headers = arguments.delete(:headers) || {}
46
+
47
+ body = arguments.delete(:body)
48
+
49
+ _inference_id = arguments.delete(:inference_id)
50
+
51
+ method = ElasticsearchServerless::API::HTTP_POST
52
+ path = "_inference/completion/#{Utils.listify(_inference_id)}"
53
+ params = Utils.process_params(arguments)
54
+
55
+ ElasticsearchServerless::API::Response.new(
56
+ perform_request(method, path, params, body, headers, request_opts)
57
+ )
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
@@ -23,25 +23,20 @@ module ElasticsearchServerless
23
23
  module Inference
24
24
  module Actions
25
25
  # Delete an inference endpoint
26
- # This functionality is Experimental and may be changed or removed
27
- # completely in a future release. Elastic will take a best effort approach
28
- # to fix any issues, but experimental features are not subject to the
29
- # support SLA of official GA features.
30
26
  #
31
27
  # @option arguments [String] :task_type The task type
32
- # @option arguments [String] :inference_id The inference Id (*Required*)
33
- # @option arguments [Boolean] :dry_run When true, the endpoint is not deleted, and a list of ingest processors which reference this endpoint is returned
34
- # @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
28
+ # @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] :force When true, the inference endpoint is forcefully deleted even if it is still being used by ingest processors or semantic text fields.
35
31
  # @option arguments [Hash] :headers Custom HTTP headers
36
32
  #
37
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/master/delete-inference-api.html
33
+ # @see https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-inference-delete
38
34
  #
39
35
  def delete(arguments = {})
40
- request_opts = { endpoint: arguments[:endpoint] || "inference.delete" }
36
+ request_opts = { endpoint: arguments[:endpoint] || 'inference.delete' }
41
37
 
42
- defined_params = [:inference_id, :task_type].inject({}) do |set_variables, variable|
38
+ defined_params = [:inference_id, :task_type].each_with_object({}) do |variable, set_variables|
43
39
  set_variables[variable] = arguments[variable] if arguments.key?(variable)
44
- set_variables
45
40
  end
46
41
  request_opts[:defined_params] = defined_params unless defined_params.empty?
47
42
 
@@ -23,23 +23,18 @@ module ElasticsearchServerless
23
23
  module Inference
24
24
  module Actions
25
25
  # Get an inference endpoint
26
- # This functionality is Experimental and may be changed or removed
27
- # completely in a future release. Elastic will take a best effort approach
28
- # to fix any issues, but experimental features are not subject to the
29
- # support SLA of official GA features.
30
26
  #
31
27
  # @option arguments [String] :task_type The task type
32
28
  # @option arguments [String] :inference_id The inference Id
33
29
  # @option arguments [Hash] :headers Custom HTTP headers
34
30
  #
35
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/master/get-inference-api.html
31
+ # @see https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-inference-get
36
32
  #
37
33
  def get(arguments = {})
38
- request_opts = { endpoint: arguments[:endpoint] || "inference.get" }
34
+ request_opts = { endpoint: arguments[:endpoint] || 'inference.get' }
39
35
 
40
- defined_params = [:inference_id, :task_type].inject({}) do |set_variables, variable|
36
+ defined_params = [:inference_id, :task_type].each_with_object({}) do |variable, set_variables|
41
37
  set_variables[variable] = arguments[variable] if arguments.key?(variable)
42
- set_variables
43
38
  end
44
39
  request_opts[:defined_params] = defined_params unless defined_params.empty?
45
40
 
@@ -58,7 +53,7 @@ module ElasticsearchServerless
58
53
  elsif _inference_id
59
54
  "_inference/#{Utils.listify(_inference_id)}"
60
55
  else
61
- "_inference"
56
+ '_inference'
62
57
  end
63
58
  params = {}
64
59
 
@@ -23,10 +23,6 @@ module ElasticsearchServerless
23
23
  module Inference
24
24
  module Actions
25
25
  # Perform inference on the service
26
- # This functionality is Experimental and may be changed or removed
27
- # completely in a future release. Elastic will take a best effort approach
28
- # to fix any issues, but experimental features are not subject to the
29
- # support SLA of official GA features.
30
26
  #
31
27
  # @option arguments [String] :task_type The task type
32
28
  # @option arguments [String] :inference_id The inference Id (*Required*)
@@ -22,25 +22,28 @@ module ElasticsearchServerless
22
22
  module API
23
23
  module Inference
24
24
  module Actions
25
- # Create an inference endpoint
26
- # This functionality is Experimental and may be changed or removed
27
- # completely in a future release. Elastic will take a best effort approach
28
- # to fix any issues, but experimental features are not subject to the
29
- # support SLA of official GA features.
25
+ # Create an inference endpoint.
26
+ # When you create an inference endpoint, the associated machine learning model is automatically deployed if it is not already running.
27
+ # After creating the endpoint, wait for the model deployment to complete before using it.
28
+ # To verify the deployment status, use the get trained model statistics API.
29
+ # Look for +"state": "fully_allocated"+ in the response and ensure that the +"allocation_count"+ matches the +"target_allocation_count"+.
30
+ # Avoid creating multiple endpoints for the same model unless required, as each endpoint consumes significant resources.
31
+ # 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, Mistral, Azure OpenAI, Google AI Studio, Google Vertex AI, Anthropic, Watsonx.ai, or Hugging Face.
32
+ # For built-in models and models uploaded through Eland, the inference APIs offer an alternative way to use and manage trained models.
33
+ # 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.
30
34
  #
31
35
  # @option arguments [String] :task_type The task type
32
36
  # @option arguments [String] :inference_id The inference Id (*Required*)
33
37
  # @option arguments [Hash] :headers Custom HTTP headers
34
38
  # @option arguments [Hash] :body inference_config
35
39
  #
36
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/master/put-inference-api.html
40
+ # @see https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-inference-put
37
41
  #
38
42
  def put(arguments = {})
39
- request_opts = { endpoint: arguments[:endpoint] || "inference.put" }
43
+ request_opts = { endpoint: arguments[:endpoint] || 'inference.put' }
40
44
 
41
- defined_params = [:inference_id, :task_type].inject({}) do |set_variables, variable|
45
+ defined_params = [:inference_id, :task_type].each_with_object({}) do |variable, set_variables|
42
46
  set_variables[variable] = arguments[variable] if arguments.key?(variable)
43
- set_variables
44
47
  end
45
48
  request_opts[:defined_params] = defined_params unless defined_params.empty?
46
49
 
@@ -0,0 +1,78 @@
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
+ # Auto generated from commit f284cc16f4d4b4289bc679aa1529bb504190fe80
19
+ # @see https://github.com/elastic/elasticsearch-specification
20
+ #
21
+ module ElasticsearchServerless
22
+ module API
23
+ module Inference
24
+ module Actions
25
+ # Create a Watsonx inference endpoint.
26
+ # Creates an inference endpoint to perform an inference task with the +watsonxai+ service.
27
+ # You need an IBM Cloud Databases for Elasticsearch deployment to use the +watsonxai+ inference service.
28
+ # You can provision one through the IBM catalog, the Cloud Databases CLI plug-in, the Cloud Databases API, or Terraform.
29
+ # When you create an inference endpoint, the associated machine learning model is automatically deployed if it is not already running.
30
+ # After creating the endpoint, wait for the model deployment to complete before using it.
31
+ # To verify the deployment status, use the get trained model statistics API.
32
+ # Look for +"state": "fully_allocated"+ in the response and ensure that the +"allocation_count"+ matches the +"target_allocation_count"+.
33
+ # Avoid creating multiple endpoints for the same model unless required, as each endpoint consumes significant resources.
34
+ #
35
+ # @option arguments [String] :task_type The task type.
36
+ # The only valid task type for the model to perform is +text_embedding+. (*Required*)
37
+ # @option arguments [String] :watsonx_inference_id The unique identifier of the inference endpoint. (*Required*)
38
+ # @option arguments [Hash] :headers Custom HTTP headers
39
+ # @option arguments [Hash] :body request body
40
+ #
41
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/infer-service-watsonx-ai.html
42
+ #
43
+ def put_watsonx(arguments = {})
44
+ request_opts = { endpoint: arguments[:endpoint] || 'inference.put_watsonx' }
45
+
46
+ defined_params = [:task_type, :watsonx_inference_id].each_with_object({}) do |variable, set_variables|
47
+ set_variables[variable] = arguments[variable] if arguments.key?(variable)
48
+ end
49
+ request_opts[:defined_params] = defined_params unless defined_params.empty?
50
+
51
+ raise ArgumentError, "Required argument 'task_type' missing" unless arguments[:task_type]
52
+
53
+ unless arguments[:watsonx_inference_id]
54
+ raise ArgumentError,
55
+ "Required argument 'watsonx_inference_id' missing"
56
+ end
57
+
58
+ arguments = arguments.clone
59
+ headers = arguments.delete(:headers) || {}
60
+
61
+ body = arguments.delete(:body)
62
+
63
+ _task_type = arguments.delete(:task_type)
64
+
65
+ _watsonx_inference_id = arguments.delete(:watsonx_inference_id)
66
+
67
+ method = ElasticsearchServerless::API::HTTP_PUT
68
+ path = "_inference/#{Utils.listify(_task_type)}/#{Utils.listify(_watsonx_inference_id)}"
69
+ params = {}
70
+
71
+ ElasticsearchServerless::API::Response.new(
72
+ perform_request(method, path, params, body, headers, request_opts)
73
+ )
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,62 @@
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
+ # Auto generated from commit f284cc16f4d4b4289bc679aa1529bb504190fe80
19
+ # @see https://github.com/elastic/elasticsearch-specification
20
+ #
21
+ module ElasticsearchServerless
22
+ module API
23
+ module Inference
24
+ module Actions
25
+ # Perform rereanking inference on the service
26
+ #
27
+ # @option arguments [String] :inference_id The unique identifier for the inference endpoint. (*Required*)
28
+ # @option arguments [Time] :timeout The amount of time to wait for the inference request to complete. Server default: 30s.
29
+ # @option arguments [Hash] :headers Custom HTTP headers
30
+ # @option arguments [Hash] :body request body
31
+ #
32
+ # @see https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-inference-inference
33
+ #
34
+ def rerank(arguments = {})
35
+ request_opts = { endpoint: arguments[:endpoint] || 'inference.rerank' }
36
+
37
+ defined_params = [:inference_id].each_with_object({}) do |variable, set_variables|
38
+ set_variables[variable] = arguments[variable] if arguments.key?(variable)
39
+ end
40
+ request_opts[:defined_params] = defined_params unless defined_params.empty?
41
+
42
+ raise ArgumentError, "Required argument 'inference_id' missing" unless arguments[:inference_id]
43
+
44
+ arguments = arguments.clone
45
+ headers = arguments.delete(:headers) || {}
46
+
47
+ body = arguments.delete(:body)
48
+
49
+ _inference_id = arguments.delete(:inference_id)
50
+
51
+ method = ElasticsearchServerless::API::HTTP_POST
52
+ path = "_inference/rerank/#{Utils.listify(_inference_id)}"
53
+ params = Utils.process_params(arguments)
54
+
55
+ ElasticsearchServerless::API::Response.new(
56
+ perform_request(method, path, params, body, headers, request_opts)
57
+ )
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,62 @@
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
+ # Auto generated from commit f284cc16f4d4b4289bc679aa1529bb504190fe80
19
+ # @see https://github.com/elastic/elasticsearch-specification
20
+ #
21
+ module ElasticsearchServerless
22
+ module API
23
+ module Inference
24
+ module Actions
25
+ # Perform sparse embedding inference on the service
26
+ #
27
+ # @option arguments [String] :inference_id The inference Id (*Required*)
28
+ # @option arguments [Time] :timeout Specifies the amount of time to wait for the inference request to complete. Server default: 30s.
29
+ # @option arguments [Hash] :headers Custom HTTP headers
30
+ # @option arguments [Hash] :body request body
31
+ #
32
+ # @see https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-inference-inference
33
+ #
34
+ def sparse_embedding(arguments = {})
35
+ request_opts = { endpoint: arguments[:endpoint] || 'inference.sparse_embedding' }
36
+
37
+ defined_params = [:inference_id].each_with_object({}) do |variable, set_variables|
38
+ set_variables[variable] = arguments[variable] if arguments.key?(variable)
39
+ end
40
+ request_opts[:defined_params] = defined_params unless defined_params.empty?
41
+
42
+ raise ArgumentError, "Required argument 'inference_id' missing" unless arguments[:inference_id]
43
+
44
+ arguments = arguments.clone
45
+ headers = arguments.delete(:headers) || {}
46
+
47
+ body = arguments.delete(:body)
48
+
49
+ _inference_id = arguments.delete(:inference_id)
50
+
51
+ method = ElasticsearchServerless::API::HTTP_POST
52
+ path = "_inference/sparse_embedding/#{Utils.listify(_inference_id)}"
53
+ params = Utils.process_params(arguments)
54
+
55
+ ElasticsearchServerless::API::Response.new(
56
+ perform_request(method, path, params, body, headers, request_opts)
57
+ )
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,62 @@
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
+ # Auto generated from commit f284cc16f4d4b4289bc679aa1529bb504190fe80
19
+ # @see https://github.com/elastic/elasticsearch-specification
20
+ #
21
+ module ElasticsearchServerless
22
+ module API
23
+ module Inference
24
+ module Actions
25
+ # Perform text embedding inference on the service
26
+ #
27
+ # @option arguments [String] :inference_id The inference Id (*Required*)
28
+ # @option arguments [Time] :timeout Specifies the amount of time to wait for the inference request to complete. Server default: 30s.
29
+ # @option arguments [Hash] :headers Custom HTTP headers
30
+ # @option arguments [Hash] :body request body
31
+ #
32
+ # @see https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-inference-inference
33
+ #
34
+ def text_embedding(arguments = {})
35
+ request_opts = { endpoint: arguments[:endpoint] || 'inference.text_embedding' }
36
+
37
+ defined_params = [:inference_id].each_with_object({}) do |variable, set_variables|
38
+ set_variables[variable] = arguments[variable] if arguments.key?(variable)
39
+ end
40
+ request_opts[:defined_params] = defined_params unless defined_params.empty?
41
+
42
+ raise ArgumentError, "Required argument 'inference_id' missing" unless arguments[:inference_id]
43
+
44
+ arguments = arguments.clone
45
+ headers = arguments.delete(:headers) || {}
46
+
47
+ body = arguments.delete(:body)
48
+
49
+ _inference_id = arguments.delete(:inference_id)
50
+
51
+ method = ElasticsearchServerless::API::HTTP_POST
52
+ path = "_inference/text_embedding/#{Utils.listify(_inference_id)}"
53
+ params = Utils.process_params(arguments)
54
+
55
+ ElasticsearchServerless::API::Response.new(
56
+ perform_request(method, path, params, body, headers, request_opts)
57
+ )
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end