elasticsearch-api 9.1.2 → 9.2.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 (140) hide show
  1. checksums.yaml +4 -4
  2. data/lib/elasticsearch/api/actions/async_search/submit.rb +12 -4
  3. data/lib/elasticsearch/api/actions/cat/aliases.rb +9 -0
  4. data/lib/elasticsearch/api/actions/cat/allocation.rb +9 -1
  5. data/lib/elasticsearch/api/actions/cat/component_templates.rb +9 -0
  6. data/lib/elasticsearch/api/actions/cat/count.rb +17 -0
  7. data/lib/elasticsearch/api/actions/cat/fielddata.rb +9 -1
  8. data/lib/elasticsearch/api/actions/cat/health.rb +10 -2
  9. data/lib/elasticsearch/api/actions/cat/indices.rb +10 -3
  10. data/lib/elasticsearch/api/actions/cat/master.rb +10 -1
  11. data/lib/elasticsearch/api/actions/cat/ml_data_frame_analytics.rb +11 -3
  12. data/lib/elasticsearch/api/actions/cat/ml_datafeeds.rb +9 -1
  13. data/lib/elasticsearch/api/actions/cat/ml_jobs.rb +9 -2
  14. data/lib/elasticsearch/api/actions/cat/ml_trained_models.rb +11 -4
  15. data/lib/elasticsearch/api/actions/cat/nodeattrs.rb +10 -1
  16. data/lib/elasticsearch/api/actions/cat/nodes.rb +10 -3
  17. data/lib/elasticsearch/api/actions/cat/pending_tasks.rb +10 -2
  18. data/lib/elasticsearch/api/actions/cat/plugins.rb +10 -1
  19. data/lib/elasticsearch/api/actions/cat/recovery.rb +9 -2
  20. data/lib/elasticsearch/api/actions/cat/repositories.rb +9 -0
  21. data/lib/elasticsearch/api/actions/cat/segments.rb +9 -1
  22. data/lib/elasticsearch/api/actions/cat/shards.rb +9 -2
  23. data/lib/elasticsearch/api/actions/cat/snapshots.rb +9 -1
  24. data/lib/elasticsearch/api/actions/cat/tasks.rb +10 -2
  25. data/lib/elasticsearch/api/actions/cat/templates.rb +10 -1
  26. data/lib/elasticsearch/api/actions/cat/thread_pool.rb +9 -1
  27. data/lib/elasticsearch/api/actions/cat/transforms.rb +9 -1
  28. data/lib/elasticsearch/api/actions/close_point_in_time.rb +2 -0
  29. data/lib/elasticsearch/api/actions/cluster/allocation_explain.rb +5 -0
  30. data/lib/elasticsearch/api/actions/cluster/state.rb +1 -1
  31. data/lib/elasticsearch/api/actions/connector/delete.rb +1 -1
  32. data/lib/elasticsearch/api/actions/connector/list.rb +2 -2
  33. data/lib/elasticsearch/api/actions/connector/sync_job_list.rb +2 -2
  34. data/lib/elasticsearch/api/actions/count.rb +10 -2
  35. data/lib/elasticsearch/api/actions/cross_cluster_replication/follow.rb +1 -1
  36. data/lib/elasticsearch/api/actions/dangling_indices/delete_dangling_index.rb +1 -1
  37. data/lib/elasticsearch/api/actions/dangling_indices/import_dangling_index.rb +1 -1
  38. data/lib/elasticsearch/api/actions/delete_by_query.rb +2 -2
  39. data/lib/elasticsearch/api/actions/eql/get.rb +1 -1
  40. data/lib/elasticsearch/api/actions/eql/search.rb +8 -0
  41. data/lib/elasticsearch/api/actions/esql/async_query.rb +1 -1
  42. data/lib/elasticsearch/api/actions/esql/query.rb +1 -1
  43. data/lib/elasticsearch/api/actions/explain.rb +2 -2
  44. data/lib/elasticsearch/api/actions/field_caps.rb +8 -0
  45. data/lib/elasticsearch/api/actions/fleet/search.rb +2 -6
  46. data/lib/elasticsearch/api/actions/get.rb +1 -0
  47. data/lib/elasticsearch/api/actions/get_script.rb +1 -1
  48. data/lib/elasticsearch/api/actions/graph/explore.rb +2 -6
  49. data/lib/elasticsearch/api/actions/index_lifecycle_management/move_to_step.rb +1 -0
  50. data/lib/elasticsearch/api/actions/index_lifecycle_management/put_lifecycle.rb +1 -0
  51. data/lib/elasticsearch/api/actions/indices/analyze.rb +3 -6
  52. data/lib/elasticsearch/api/actions/indices/create_from.rb +0 -1
  53. data/lib/elasticsearch/api/actions/indices/delete_data_lifecycle.rb +1 -1
  54. data/lib/elasticsearch/api/actions/indices/delete_data_stream_options.rb +1 -1
  55. data/lib/elasticsearch/api/actions/indices/disk_usage.rb +1 -0
  56. data/lib/elasticsearch/api/actions/indices/explain_data_lifecycle.rb +1 -1
  57. data/lib/elasticsearch/api/actions/indices/forcemerge.rb +1 -1
  58. data/lib/elasticsearch/api/actions/indices/get_data_stream_mappings.rb +75 -0
  59. data/lib/elasticsearch/api/actions/indices/put_data_lifecycle.rb +1 -0
  60. data/lib/elasticsearch/api/actions/indices/put_data_stream_mappings.rb +84 -0
  61. data/lib/elasticsearch/api/actions/indices/put_data_stream_options.rb +1 -0
  62. data/lib/elasticsearch/api/actions/indices/put_index_template.rb +1 -1
  63. data/lib/elasticsearch/api/actions/indices/put_template.rb +1 -1
  64. data/lib/elasticsearch/api/actions/indices/refresh.rb +1 -0
  65. data/lib/elasticsearch/api/actions/indices/resolve_index.rb +9 -0
  66. data/lib/elasticsearch/api/actions/indices/rollover.rb +1 -1
  67. data/lib/elasticsearch/api/actions/indices/shrink.rb +1 -0
  68. data/lib/elasticsearch/api/actions/indices/simulate_index_template.rb +2 -1
  69. data/lib/elasticsearch/api/actions/indices/simulate_template.rb +1 -1
  70. data/lib/elasticsearch/api/actions/indices/split.rb +1 -0
  71. data/lib/elasticsearch/api/actions/indices/stats.rb +1 -1
  72. data/lib/elasticsearch/api/actions/indices/validate_query.rb +1 -1
  73. data/lib/elasticsearch/api/actions/inference/completion.rb +1 -0
  74. data/lib/elasticsearch/api/actions/inference/inference.rb +1 -0
  75. data/lib/elasticsearch/api/actions/inference/put.rb +2 -1
  76. data/lib/elasticsearch/api/actions/inference/put_ai21.rb +79 -0
  77. data/lib/elasticsearch/api/actions/inference/put_alibabacloud.rb +1 -0
  78. data/lib/elasticsearch/api/actions/inference/put_amazonbedrock.rb +1 -0
  79. data/lib/elasticsearch/api/actions/inference/put_amazonsagemaker.rb +1 -0
  80. data/lib/elasticsearch/api/actions/inference/put_anthropic.rb +1 -0
  81. data/lib/elasticsearch/api/actions/inference/put_azureaistudio.rb +1 -0
  82. data/lib/elasticsearch/api/actions/inference/put_azureopenai.rb +1 -0
  83. data/lib/elasticsearch/api/actions/inference/put_cohere.rb +1 -0
  84. data/lib/elasticsearch/api/actions/inference/put_contextualai.rb +84 -0
  85. data/lib/elasticsearch/api/actions/inference/put_custom.rb +1 -0
  86. data/lib/elasticsearch/api/actions/inference/put_deepseek.rb +1 -0
  87. data/lib/elasticsearch/api/actions/inference/put_elasticsearch.rb +1 -0
  88. data/lib/elasticsearch/api/actions/inference/put_elser.rb +1 -0
  89. data/lib/elasticsearch/api/actions/inference/put_googleaistudio.rb +1 -0
  90. data/lib/elasticsearch/api/actions/inference/put_googlevertexai.rb +1 -0
  91. data/lib/elasticsearch/api/actions/inference/put_hugging_face.rb +1 -0
  92. data/lib/elasticsearch/api/actions/inference/put_jinaai.rb +1 -0
  93. data/lib/elasticsearch/api/actions/inference/put_llama.rb +79 -0
  94. data/lib/elasticsearch/api/actions/inference/put_mistral.rb +1 -0
  95. data/lib/elasticsearch/api/actions/inference/put_openai.rb +1 -0
  96. data/lib/elasticsearch/api/actions/inference/put_voyageai.rb +1 -0
  97. data/lib/elasticsearch/api/actions/inference/put_watsonx.rb +1 -0
  98. data/lib/elasticsearch/api/actions/inference/rerank.rb +1 -0
  99. data/lib/elasticsearch/api/actions/inference/sparse_embedding.rb +1 -0
  100. data/lib/elasticsearch/api/actions/inference/stream_completion.rb +1 -0
  101. data/lib/elasticsearch/api/actions/inference/text_embedding.rb +1 -0
  102. data/lib/elasticsearch/api/actions/license/get.rb +3 -1
  103. data/lib/elasticsearch/api/actions/logstash/put_pipeline.rb +2 -1
  104. data/lib/elasticsearch/api/actions/machine_learning/get_overall_buckets.rb +1 -1
  105. data/lib/elasticsearch/api/actions/msearch.rb +7 -0
  106. data/lib/elasticsearch/api/actions/msearch_template.rb +8 -0
  107. data/lib/elasticsearch/api/actions/nodes/stats.rb +1 -1
  108. data/lib/elasticsearch/api/actions/open_point_in_time.rb +8 -0
  109. data/lib/elasticsearch/api/actions/project/tags.rb +65 -0
  110. data/lib/elasticsearch/api/actions/query_rules/list_rulesets.rb +1 -1
  111. data/lib/elasticsearch/api/actions/reindex.rb +1 -1
  112. data/lib/elasticsearch/api/actions/render_search_template.rb +3 -6
  113. data/lib/elasticsearch/api/actions/scripts_painless_execute.rb +3 -6
  114. data/lib/elasticsearch/api/actions/search.rb +11 -2
  115. data/lib/elasticsearch/api/actions/search_mvt.rb +9 -1
  116. data/lib/elasticsearch/api/actions/search_template.rb +8 -0
  117. data/lib/elasticsearch/api/actions/searchable_snapshots/stats.rb +1 -1
  118. data/lib/elasticsearch/api/actions/security/get_settings.rb +1 -1
  119. data/lib/elasticsearch/api/actions/security/get_stats.rb +62 -0
  120. data/lib/elasticsearch/api/actions/security/update_settings.rb +1 -1
  121. data/lib/elasticsearch/api/actions/simulate/ingest.rb +4 -0
  122. data/lib/elasticsearch/api/actions/snapshot/get_repository.rb +1 -1
  123. data/lib/elasticsearch/api/actions/snapshot/repository_analyze.rb +17 -10
  124. data/lib/elasticsearch/api/actions/snapshot/status.rb +5 -0
  125. data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/put_lifecycle.rb +1 -0
  126. data/lib/elasticsearch/api/actions/sql/get_async.rb +1 -1
  127. data/lib/elasticsearch/api/actions/sql/query.rb +8 -0
  128. data/lib/elasticsearch/api/actions/streams/logs_disable.rb +23 -3
  129. data/lib/elasticsearch/api/actions/streams/logs_enable.rb +26 -3
  130. data/lib/elasticsearch/api/actions/streams/status.rb +20 -3
  131. data/lib/elasticsearch/api/actions/tasks/list.rb +1 -1
  132. data/lib/elasticsearch/api/actions/terms_enum.rb +2 -6
  133. data/lib/elasticsearch/api/actions/transform/get_node_stats.rb +1 -1
  134. data/lib/elasticsearch/api/actions/update_by_query.rb +2 -2
  135. data/lib/elasticsearch/api/actions/watcher/get_settings.rb +1 -1
  136. data/lib/elasticsearch/api/actions/watcher/put_watch.rb +1 -0
  137. data/lib/elasticsearch/api/actions/watcher/update_settings.rb +1 -1
  138. data/lib/elasticsearch/api/version.rb +2 -2
  139. data/lib/elasticsearch/api.rb +1 -0
  140. metadata +9 -2
@@ -0,0 +1,75 @@
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
+ # Get data stream mappings.
26
+ # Get mapping information for one or more data streams.
27
+ #
28
+ # @option arguments [String, Array] :name A comma-separated list of data streams or data stream patterns. Supports wildcards (`*`). (*Required*)
29
+ # @option arguments [Time] :master_timeout The period to wait for a connection to the master node. If no response is
30
+ # received before the timeout expires, the request fails and returns an
31
+ # error. 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
+ #
45
+ # @see https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-get-data-stream-mappings
46
+ #
47
+ def get_data_stream_mappings(arguments = {})
48
+ request_opts = { endpoint: arguments[:endpoint] || 'indices.get_data_stream_mappings' }
49
+
50
+ defined_params = [:name].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 'name' missing" unless arguments[:name]
56
+
57
+ arguments = arguments.clone
58
+ headers = arguments.delete(:headers) || {}
59
+
60
+ body = nil
61
+
62
+ _name = arguments.delete(:name)
63
+
64
+ method = Elasticsearch::API::HTTP_GET
65
+ path = "_data_stream/#{Utils.listify(_name)}/_mappings"
66
+ params = Utils.process_params(arguments)
67
+
68
+ Elasticsearch::API::Response.new(
69
+ perform_request(method, path, params, body, headers, request_opts)
70
+ )
71
+ end
72
+ end
73
+ end
74
+ end
75
+ end
@@ -59,6 +59,7 @@ module Elasticsearch
59
59
  end
60
60
  request_opts[:defined_params] = defined_params unless defined_params.empty?
61
61
 
62
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
62
63
  raise ArgumentError, "Required argument 'name' missing" unless arguments[:name]
63
64
 
64
65
  arguments = arguments.clone
@@ -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 Indices
24
+ module Actions
25
+ # Update data stream mappings.
26
+ # This API can be used to override mappings on specific data streams. These overrides will take precedence over what
27
+ # is specified in the template that the data stream matches. The mapping change is only applied to new write indices
28
+ # that are created during rollover after this API is called. No indices are changed by this API.
29
+ #
30
+ # @option arguments [String, Array] :name A comma-separated list of data streams or data stream patterns. (*Required*)
31
+ # @option arguments [Boolean] :dry_run If `true`, the request does not actually change the mappings on any data streams. Instead, it
32
+ # simulates changing the settings and reports back to the user what would have happened had these settings
33
+ # actually been applied.
34
+ # @option arguments [Time] :master_timeout The period to wait for a connection to the master node. If no response is
35
+ # received before the timeout expires, the request fails and returns an
36
+ # error. Server default: 30s.
37
+ # @option arguments [Time] :timeout The period to wait for a response. If no response is received before the
38
+ # timeout expires, the request fails and returns an error. Server default: 30s.
39
+ # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors
40
+ # when they occur.
41
+ # @option arguments [String, Array<String>] :filter_path Comma-separated list of filters in dot notation which reduce the response
42
+ # returned by Elasticsearch.
43
+ # @option arguments [Boolean] :human When set to `true` will return statistics in a format suitable for humans.
44
+ # For example `"exists_time": "1h"` for humans and
45
+ # `"exists_time_in_millis": 3600000` for computers. When disabled the human
46
+ # readable values will be omitted. This makes sense for responses being consumed
47
+ # only by machines.
48
+ # @option arguments [Boolean] :pretty If set to `true` the returned JSON will be "pretty-formatted". Only use
49
+ # this option for debugging only.
50
+ # @option arguments [Hash] :headers Custom HTTP headers
51
+ # @option arguments [Hash] :body mappings
52
+ #
53
+ # @see https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-put-data-stream-mappings
54
+ #
55
+ def put_data_stream_mappings(arguments = {})
56
+ request_opts = { endpoint: arguments[:endpoint] || 'indices.put_data_stream_mappings' }
57
+
58
+ defined_params = [:name].each_with_object({}) do |variable, set_variables|
59
+ set_variables[variable] = arguments[variable] if arguments.key?(variable)
60
+ end
61
+ request_opts[:defined_params] = defined_params unless defined_params.empty?
62
+
63
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
64
+ raise ArgumentError, "Required argument 'name' missing" unless arguments[:name]
65
+
66
+ arguments = arguments.clone
67
+ headers = arguments.delete(:headers) || {}
68
+
69
+ body = arguments.delete(:body)
70
+
71
+ _name = arguments.delete(:name)
72
+
73
+ method = Elasticsearch::API::HTTP_PUT
74
+ path = "_data_stream/#{Utils.listify(_name)}/_mappings"
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
@@ -59,6 +59,7 @@ module Elasticsearch
59
59
  end
60
60
  request_opts[:defined_params] = defined_params unless defined_params.empty?
61
61
 
62
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
62
63
  raise ArgumentError, "Required argument 'name' missing" unless arguments[:name]
63
64
 
64
65
  arguments = arguments.clone
@@ -48,7 +48,7 @@ module Elasticsearch
48
48
  # @option arguments [Boolean] :create If `true`, this request cannot replace or update existing index templates.
49
49
  # @option arguments [Time] :master_timeout Period to wait for a connection to the master node.
50
50
  # If no response is received before the timeout expires, the request fails and returns an error. Server default: 30s.
51
- # @option arguments [String] :cause User defined reason for creating/updating the index template
51
+ # @option arguments [String] :cause User defined reason for creating/updating the index template Server default: api.
52
52
  # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors
53
53
  # when they occur.
54
54
  # @option arguments [String, Array<String>] :filter_path Comma-separated list of filters in dot notation which reduce the response
@@ -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
48
+ # @option arguments [String] :cause User defined reason for creating/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
@@ -27,6 +27,7 @@ module Elasticsearch
27
27
  # For data streams, the API runs the refresh operation on the stream’s backing indices.
28
28
  # By default, Elasticsearch periodically refreshes indices every second, but only on indices that have received one search request or more in the last 30 seconds.
29
29
  # You can change this default interval with the `index.refresh_interval` setting.
30
+ # In Elastic Cloud Serverless, the default refresh interval is 5 seconds across all indices.
30
31
  # Refresh requests are synchronous and do not return a response until the refresh operation completes.
31
32
  # Refreshes are resource-intensive.
32
33
  # To ensure good cluster performance, it's recommended to wait for Elasticsearch's periodic refresh rather than performing an explicit refresh when possible.
@@ -35,6 +35,15 @@ module Elasticsearch
35
35
  # @option arguments [Boolean] :allow_no_indices If `false`, the request returns an error if any wildcard expression, index alias, or `_all` value targets only missing or closed indices.
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
+ # @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.
38
47
  # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors
39
48
  # when they occur.
40
49
  # @option arguments [String, Array<String>] :filter_path Comma-separated list of filters in dot notation which reduce the response
@@ -23,7 +23,7 @@ module Elasticsearch
23
23
  module Indices
24
24
  module Actions
25
25
  # Roll over to a new index.
26
- # TIP: It is recommended to use the index lifecycle rollover action to automate rollovers.
26
+ # TIP: We recommend using the index lifecycle rollover action to automate rollovers. However, Serverless does not support Index Lifecycle Management (ILM), so don't use this approach in the Serverless context.
27
27
  # The rollover API creates a new index for a data stream or index alias.
28
28
  # The API behavior depends on the rollover target.
29
29
  # **Roll over a data stream**
@@ -78,6 +78,7 @@ module Elasticsearch
78
78
  end
79
79
  request_opts[:defined_params] = defined_params unless defined_params.empty?
80
80
 
81
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
81
82
  raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
82
83
  raise ArgumentError, "Required argument 'target' missing" unless arguments[:target]
83
84
 
@@ -42,6 +42,7 @@ module Elasticsearch
42
42
  # @option arguments [Boolean] :pretty If set to `true` the returned JSON will be "pretty-formatted". Only use
43
43
  # this option for debugging only.
44
44
  # @option arguments [Hash] :headers Custom HTTP headers
45
+ # @option arguments [Hash] :body index_template
45
46
  #
46
47
  # @see https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-simulate-index-template
47
48
  #
@@ -58,7 +59,7 @@ module Elasticsearch
58
59
  arguments = arguments.clone
59
60
  headers = arguments.delete(:headers) || {}
60
61
 
61
- body = nil
62
+ body = arguments.delete(:body)
62
63
 
63
64
  _name = arguments.delete(:name)
64
65
 
@@ -28,7 +28,7 @@ module Elasticsearch
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.
30
30
  # @option arguments [Boolean] :create If true, the template passed in the body is only used if no existing templates match the same index patterns. If false, the simulation uses the template with the highest priority. Note that the template is not permanently added or updated in either case; it is only used for the simulation.
31
- # @option arguments [String] :cause User defined reason for dry-run creating the new template for simulation purposes
31
+ # @option arguments [String] :cause User defined reason for dry-run creating the new template for simulation purposes Server default: false.
32
32
  # @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.
33
33
  # @option arguments [Boolean] :include_defaults If true, returns all relevant default configurations for the index template.
34
34
  # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors
@@ -81,6 +81,7 @@ module Elasticsearch
81
81
  end
82
82
  request_opts[:defined_params] = defined_params unless defined_params.empty?
83
83
 
84
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
84
85
  raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
85
86
  raise ArgumentError, "Required argument 'target' missing" unless arguments[:target]
86
87
 
@@ -43,7 +43,7 @@ module Elasticsearch
43
43
  # @option arguments [String, Array<String>] :groups Comma-separated list of search groups to include in the search statistics.
44
44
  # @option arguments [Boolean] :include_segment_file_sizes If true, the call reports the aggregated disk usage of each one of the Lucene index files (only applies if segment stats are requested).
45
45
  # @option arguments [Boolean] :include_unloaded_segments If true, the response includes information from segments that are not loaded into memory.
46
- # @option arguments [String] :level Indicates whether statistics are aggregated at the cluster, index, or shard level.
46
+ # @option arguments [String] :level Indicates whether statistics are aggregated at the cluster, indices, or shards level. Server default: indices.
47
47
  # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors
48
48
  # when they occur.
49
49
  # @option arguments [String, Array<String>] :filter_path Comma-separated list of filters in dot notation which reduce the response
@@ -34,7 +34,7 @@ module Elasticsearch
34
34
  # @option arguments [String] :analyzer Analyzer to use for the query string.
35
35
  # This parameter can only be used when the `q` query string parameter is specified.
36
36
  # @option arguments [Boolean] :analyze_wildcard If `true`, wildcard and prefix queries are analyzed.
37
- # @option arguments [String] :default_operator The default operator for query string query: `AND` or `OR`. Server default: OR.
37
+ # @option arguments [String] :default_operator The default operator for query string query: `and` or `or`. Server default: or.
38
38
  # @option arguments [String] :df Field to use as default where no field prefix is given in the query string.
39
39
  # This parameter can only be used when the `q` query string parameter is specified.
40
40
  # @option arguments [String, Array<String>] :expand_wildcards Type of index that wildcard patterns can match.
@@ -50,6 +50,7 @@ module Elasticsearch
50
50
  end
51
51
  request_opts[:defined_params] = defined_params unless defined_params.empty?
52
52
 
53
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
53
54
  raise ArgumentError, "Required argument 'inference_id' missing" unless arguments[:inference_id]
54
55
 
55
56
  arguments = arguments.clone
@@ -55,6 +55,7 @@ module Elasticsearch
55
55
  end
56
56
  request_opts[:defined_params] = defined_params unless defined_params.empty?
57
57
 
58
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
58
59
  raise ArgumentError, "Required argument 'inference_id' missing" unless arguments[:inference_id]
59
60
 
60
61
  arguments = arguments.clone
@@ -27,11 +27,12 @@ module Elasticsearch
27
27
  # For built-in models and models uploaded through Eland, the inference APIs offer an alternative way to use and manage trained models.
28
28
  # 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
29
  # The following integrations are available through the inference API. You can find the available task types next to the integration name:
30
+ # * AI21 (`chat_completion`, `completion`)
30
31
  # * AlibabaCloud AI Search (`completion`, `rerank`, `sparse_embedding`, `text_embedding`)
31
32
  # * Amazon Bedrock (`completion`, `text_embedding`)
32
33
  # * Amazon SageMaker (`chat_completion`, `completion`, `rerank`, `sparse_embedding`, `text_embedding`)
33
34
  # * Anthropic (`completion`)
34
- # * Azure AI Studio (`completion`, `text_embedding`)
35
+ # * Azure AI Studio (`completion`, 'rerank', `text_embedding`)
35
36
  # * Azure OpenAI (`completion`, `text_embedding`)
36
37
  # * Cohere (`completion`, `rerank`, `text_embedding`)
37
38
  # * DeepSeek (`chat_completion`, `completion`)
@@ -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 AI21 inference endpoint.
26
+ # Create an inference endpoint to perform an inference task with the `ai21` service.
27
+ #
28
+ # @option arguments [String] :task_type The type of the inference task that the model will perform. (*Required*)
29
+ # @option arguments [String] :ai21_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-ai21
46
+ #
47
+ def put_ai21(arguments = {})
48
+ request_opts = { endpoint: arguments[:endpoint] || 'inference.put_ai21' }
49
+
50
+ defined_params = [:task_type, :ai21_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 'ai21_inference_id' missing" unless arguments[:ai21_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
+ _ai21_inference_id = arguments.delete(:ai21_inference_id)
67
+
68
+ method = Elasticsearch::API::HTTP_PUT
69
+ path = "_inference/#{Utils.listify(_task_type)}/#{Utils.listify(_ai21_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
@@ -52,6 +52,7 @@ module Elasticsearch
52
52
  end
53
53
  request_opts[:defined_params] = defined_params unless defined_params.empty?
54
54
 
55
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
55
56
  raise ArgumentError, "Required argument 'task_type' missing" unless arguments[:task_type]
56
57
 
57
58
  unless arguments[:alibabacloud_inference_id]
@@ -52,6 +52,7 @@ module Elasticsearch
52
52
  end
53
53
  request_opts[:defined_params] = defined_params unless defined_params.empty?
54
54
 
55
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
55
56
  raise ArgumentError, "Required argument 'task_type' missing" unless arguments[:task_type]
56
57
 
57
58
  unless arguments[:amazonbedrock_inference_id]
@@ -52,6 +52,7 @@ module Elasticsearch
52
52
  end
53
53
  request_opts[:defined_params] = defined_params unless defined_params.empty?
54
54
 
55
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
55
56
  raise ArgumentError, "Required argument 'task_type' missing" unless arguments[:task_type]
56
57
 
57
58
  unless arguments[:amazonsagemaker_inference_id]
@@ -53,6 +53,7 @@ module Elasticsearch
53
53
  end
54
54
  request_opts[:defined_params] = defined_params unless defined_params.empty?
55
55
 
56
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
56
57
  raise ArgumentError, "Required argument 'task_type' missing" unless arguments[:task_type]
57
58
 
58
59
  unless arguments[:anthropic_inference_id]
@@ -52,6 +52,7 @@ module Elasticsearch
52
52
  end
53
53
  request_opts[:defined_params] = defined_params unless defined_params.empty?
54
54
 
55
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
55
56
  raise ArgumentError, "Required argument 'task_type' missing" unless arguments[:task_type]
56
57
 
57
58
  unless arguments[:azureaistudio_inference_id]
@@ -57,6 +57,7 @@ module Elasticsearch
57
57
  end
58
58
  request_opts[:defined_params] = defined_params unless defined_params.empty?
59
59
 
60
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
60
61
  raise ArgumentError, "Required argument 'task_type' missing" unless arguments[:task_type]
61
62
 
62
63
  unless arguments[:azureopenai_inference_id]
@@ -52,6 +52,7 @@ module Elasticsearch
52
52
  end
53
53
  request_opts[:defined_params] = defined_params unless defined_params.empty?
54
54
 
55
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
55
56
  raise ArgumentError, "Required argument 'task_type' missing" unless arguments[:task_type]
56
57
 
57
58
  unless arguments[:cohere_inference_id]
@@ -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 Contextual AI inference endpoint.
26
+ # Create an inference endpoint to perform an inference task with the `contexualai` service.
27
+ # To review the available `rerank` models, refer to <https://docs.contextual.ai/api-reference/rerank/rerank#body-model>.
28
+ #
29
+ # @option arguments [String] :task_type The type of the inference task that the model will perform. (*Required*)
30
+ # @option arguments [String] :contextualai_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-contextualai
47
+ #
48
+ def put_contextualai(arguments = {})
49
+ request_opts = { endpoint: arguments[:endpoint] || 'inference.put_contextualai' }
50
+
51
+ defined_params = [:task_type, :contextualai_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[:contextualai_inference_id]
60
+ raise ArgumentError,
61
+ "Required argument 'contextualai_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
+ _contextualai_inference_id = arguments.delete(:contextualai_inference_id)
72
+
73
+ method = Elasticsearch::API::HTTP_PUT
74
+ path = "_inference/#{Utils.listify(_task_type)}/#{Utils.listify(_contextualai_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
@@ -82,6 +82,7 @@ module Elasticsearch
82
82
  end
83
83
  request_opts[:defined_params] = defined_params unless defined_params.empty?
84
84
 
85
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
85
86
  raise ArgumentError, "Required argument 'task_type' missing" unless arguments[:task_type]
86
87
 
87
88
  unless arguments[:custom_inference_id]
@@ -52,6 +52,7 @@ module Elasticsearch
52
52
  end
53
53
  request_opts[:defined_params] = defined_params unless defined_params.empty?
54
54
 
55
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
55
56
  raise ArgumentError, "Required argument 'task_type' missing" unless arguments[:task_type]
56
57
 
57
58
  unless arguments[:deepseek_inference_id]
@@ -53,6 +53,7 @@ module Elasticsearch
53
53
  end
54
54
  request_opts[:defined_params] = defined_params unless defined_params.empty?
55
55
 
56
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
56
57
  raise ArgumentError, "Required argument 'task_type' missing" unless arguments[:task_type]
57
58
 
58
59
  unless arguments[:elasticsearch_inference_id]
@@ -53,6 +53,7 @@ module Elasticsearch
53
53
  end
54
54
  request_opts[:defined_params] = defined_params unless defined_params.empty?
55
55
 
56
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
56
57
  raise ArgumentError, "Required argument 'task_type' missing" unless arguments[:task_type]
57
58
  raise ArgumentError, "Required argument 'elser_inference_id' missing" unless arguments[:elser_inference_id]
58
59
 
@@ -52,6 +52,7 @@ module Elasticsearch
52
52
  end
53
53
  request_opts[:defined_params] = defined_params unless defined_params.empty?
54
54
 
55
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
55
56
  raise ArgumentError, "Required argument 'task_type' missing" unless arguments[:task_type]
56
57
 
57
58
  unless arguments[:googleaistudio_inference_id]
@@ -52,6 +52,7 @@ module Elasticsearch
52
52
  end
53
53
  request_opts[:defined_params] = defined_params unless defined_params.empty?
54
54
 
55
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
55
56
  raise ArgumentError, "Required argument 'task_type' missing" unless arguments[:task_type]
56
57
 
57
58
  unless arguments[:googlevertexai_inference_id]
@@ -80,6 +80,7 @@ module Elasticsearch
80
80
  end
81
81
  request_opts[:defined_params] = defined_params unless defined_params.empty?
82
82
 
83
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
83
84
  raise ArgumentError, "Required argument 'task_type' missing" unless arguments[:task_type]
84
85
 
85
86
  unless arguments[:huggingface_inference_id]