elasticsearch-api 8.17.1 → 8.18.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 (95) hide show
  1. checksums.yaml +4 -4
  2. data/elasticsearch-api.gemspec +2 -1
  3. data/lib/elasticsearch/api/actions/async_search/submit.rb +1 -0
  4. data/lib/elasticsearch/api/actions/bulk.rb +1 -0
  5. data/lib/elasticsearch/api/actions/cat/help.rb +1 -3
  6. data/lib/elasticsearch/api/actions/cat/segments.rb +2 -0
  7. data/lib/elasticsearch/api/actions/cat/tasks.rb +2 -0
  8. data/lib/elasticsearch/api/actions/create.rb +1 -0
  9. data/lib/elasticsearch/api/actions/eql/search.rb +2 -0
  10. data/lib/elasticsearch/api/actions/esql/async_query_delete.rb +60 -0
  11. data/lib/elasticsearch/api/actions/esql/async_query_stop.rb +60 -0
  12. data/lib/elasticsearch/api/actions/index.rb +1 -0
  13. data/lib/elasticsearch/api/actions/indices/get_data_lifecycle_stats.rb +50 -0
  14. data/lib/elasticsearch/api/actions/indices/put_template.rb +1 -0
  15. data/lib/elasticsearch/api/actions/indices/resolve_cluster.rb +11 -8
  16. data/lib/elasticsearch/api/actions/indices/rollover.rb +0 -1
  17. data/lib/elasticsearch/api/actions/inference/chat_completion_unified.rb +61 -0
  18. data/lib/elasticsearch/api/actions/inference/completion.rb +61 -0
  19. data/lib/elasticsearch/api/actions/inference/delete.rb +0 -4
  20. data/lib/elasticsearch/api/actions/inference/get.rb +0 -4
  21. data/lib/elasticsearch/api/actions/inference/inference.rb +0 -4
  22. data/lib/elasticsearch/api/actions/inference/put.rb +0 -4
  23. data/lib/elasticsearch/api/actions/inference/put_alibabacloud.rb +69 -0
  24. data/lib/elasticsearch/api/actions/inference/put_amazonbedrock.rb +69 -0
  25. data/lib/elasticsearch/api/actions/inference/put_anthropic.rb +69 -0
  26. data/lib/elasticsearch/api/actions/inference/put_azureaistudio.rb +69 -0
  27. data/lib/elasticsearch/api/actions/inference/put_azureopenai.rb +69 -0
  28. data/lib/elasticsearch/api/actions/inference/put_cohere.rb +65 -0
  29. data/lib/elasticsearch/api/actions/inference/put_elasticsearch.rb +69 -0
  30. data/lib/elasticsearch/api/actions/inference/put_elser.rb +65 -0
  31. data/lib/elasticsearch/api/actions/inference/put_googleaistudio.rb +69 -0
  32. data/lib/elasticsearch/api/actions/inference/put_googlevertexai.rb +69 -0
  33. data/lib/elasticsearch/api/actions/inference/put_hugging_face.rb +69 -0
  34. data/lib/elasticsearch/api/actions/inference/put_jinaai.rb +65 -0
  35. data/lib/elasticsearch/api/actions/inference/put_mistral.rb +69 -0
  36. data/lib/elasticsearch/api/actions/inference/put_openai.rb +65 -0
  37. data/lib/elasticsearch/api/actions/inference/put_voyageai.rb +69 -0
  38. data/lib/elasticsearch/api/actions/inference/put_watsonx.rb +69 -0
  39. data/lib/elasticsearch/api/actions/inference/rerank.rb +61 -0
  40. data/lib/elasticsearch/api/actions/inference/sparse_embedding.rb +61 -0
  41. data/lib/elasticsearch/api/actions/inference/stream_completion.rb +61 -0
  42. data/lib/elasticsearch/api/actions/inference/text_embedding.rb +61 -0
  43. data/lib/elasticsearch/api/actions/inference/{stream_inference.rb → update.rb} +8 -12
  44. data/lib/elasticsearch/api/actions/license/post_start_trial.rb +0 -1
  45. data/lib/elasticsearch/api/actions/machine_learning/start_trained_model_deployment.rb +2 -1
  46. data/lib/elasticsearch/api/actions/security/delegate_pki.rb +53 -0
  47. data/lib/elasticsearch/api/actions/shutdown/delete_node.rb +3 -1
  48. data/lib/elasticsearch/api/actions/shutdown/put_node.rb +3 -1
  49. data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/delete_lifecycle.rb +3 -1
  50. data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/execute_lifecycle.rb +3 -1
  51. data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/execute_retention.rb +3 -1
  52. data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/get_lifecycle.rb +3 -1
  53. data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/get_stats.rb +3 -1
  54. data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/get_status.rb +3 -1
  55. data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/put_lifecycle.rb +3 -1
  56. data/lib/elasticsearch/api/actions/update.rb +1 -0
  57. data/lib/elasticsearch/api/actions/xpack/info.rb +1 -0
  58. data/lib/elasticsearch/api/version.rb +1 -1
  59. data/spec/elasticsearch/api/actions/esql/async_query_delete_spec.rb +35 -0
  60. data/spec/elasticsearch/api/actions/esql/async_query_stop_spec.rb +35 -0
  61. data/spec/elasticsearch/api/actions/indices/get_data_lifecycle_stats_spec.rb +35 -0
  62. data/spec/elasticsearch/api/actions/indices/resolve_cluster_spec.rb +14 -9
  63. data/spec/elasticsearch/api/actions/inference/chat_completion_unified_spec.rb +36 -0
  64. data/spec/elasticsearch/api/actions/inference/completion_spec.rb +36 -0
  65. data/spec/elasticsearch/api/actions/inference/put_alibabacloud_spec.rb +36 -0
  66. data/spec/elasticsearch/api/actions/inference/put_amazonbedrock_spec.rb +36 -0
  67. data/spec/elasticsearch/api/actions/inference/put_anthropic_spec.rb +36 -0
  68. data/spec/elasticsearch/api/actions/inference/put_azureaistudio_spec.rb +36 -0
  69. data/spec/elasticsearch/api/actions/inference/put_azureopenai_spec.rb +36 -0
  70. data/spec/elasticsearch/api/actions/inference/put_cohere_spec.rb +36 -0
  71. data/spec/elasticsearch/api/actions/inference/put_elasticsearch_spec.rb +36 -0
  72. data/spec/elasticsearch/api/actions/inference/put_elser_spec.rb +36 -0
  73. data/spec/elasticsearch/api/actions/inference/put_googleaistudio_spec.rb +36 -0
  74. data/spec/elasticsearch/api/actions/inference/put_googlevertexai_spec.rb +36 -0
  75. data/spec/elasticsearch/api/actions/inference/put_huggingface_spec.rb +36 -0
  76. data/spec/elasticsearch/api/actions/inference/put_jinaai_spec.rb +36 -0
  77. data/spec/elasticsearch/api/actions/inference/put_mistral_spec.rb +36 -0
  78. data/spec/elasticsearch/api/actions/inference/put_openai_spec.rb +36 -0
  79. data/spec/elasticsearch/api/actions/inference/put_voyageai_spec.rb +36 -0
  80. data/spec/elasticsearch/api/actions/inference/put_watsonx_spec.rb +36 -0
  81. data/spec/elasticsearch/api/actions/inference/rerank_spec.rb +35 -0
  82. data/spec/elasticsearch/api/actions/inference/{stream_inference_spec.rb → sparse_embedding_spec.rb} +4 -4
  83. data/spec/elasticsearch/api/actions/inference/stream_completion_spec.rb +35 -0
  84. data/spec/elasticsearch/api/actions/inference/text_embedding_spec.rb +35 -0
  85. data/spec/elasticsearch/api/actions/inference/update_spec.rb +36 -0
  86. data/spec/elasticsearch/api/actions/security/delegate_pki_spec.rb +39 -0
  87. data/spec/rest_api/skipped_tests_free.yml +15 -0
  88. data/spec/rest_api/skipped_tests_platinum.yml +13 -0
  89. data/spec/unit/actions/async_search/delete_spec.rb +35 -0
  90. data/spec/unit/actions/async_search/get_spec.rb +35 -0
  91. data/spec/unit/actions/async_search/status_spec.rb +34 -0
  92. data/spec/unit/actions/async_search/submit_spec.rb +87 -0
  93. data/spec/yaml-test-runner/run.rb +4 -1
  94. data/utils/Gemfile +1 -1
  95. metadata +105 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5e93c763c61c24f2efd02cad39d76d99bd38e7b326d408b774d38bc13d4e1909
4
- data.tar.gz: 2eff001aea0a99abc2f49d2b344c7e22cbc9d0c36e0e497fa705e8b08f7068ad
3
+ metadata.gz: d92d90d78651e26eacae85b93d362209401741be16833772f8905b5c6a4017d5
4
+ data.tar.gz: 43657d27a5e30b001cdf5356ec2779a75afecd10f52599f847593acf3f05f8b0
5
5
  SHA512:
6
- metadata.gz: 2a075360146360a3308b617229199f4e3774f0061712d0628915c18fc45993e58bdf0b32840fd5f01deccf92d37adc8944b92173d2d39272beec5b88a72e88f6
7
- data.tar.gz: b6203d93a715467a25b67adfd8e61bd2a6e7a91d56734b6425fdb9a4caba5994705e322226db9249619b54d0e6c65f60ee2a0e9790812b377ee7baed3b8e9a23
6
+ metadata.gz: 59844d5a5485c499a4d0be5b05c9fe829aef551ad9bf3be0fd5686e309ef0a471b4cb2abebef192889a2a7dd0b05a1d4a78a224f7bf225b7e494877225b2b869
7
+ data.tar.gz: 3d7ca26d37d4ce2d2cfaa3b45143153abd2cd5577531837f72cd00da75f334e9abafe1b22463bf9731480e53c96f8b85a7e4be7c71b848d4d25964f5d2dd0e09
@@ -49,7 +49,7 @@ Gem::Specification.new do |s|
49
49
  s.add_development_dependency 'ansi'
50
50
  s.add_development_dependency 'bundler'
51
51
  s.add_development_dependency 'elasticsearch'
52
- s.add_development_dependency 'elasticsearch-test-runner' unless defined?(JRUBY_VERSION) && JRUBY_VERSION <= "9.4"
52
+ s.add_development_dependency 'elasticsearch-test-runner' unless defined?(JRUBY_VERSION) && JRUBY_VERSION <= '9.4'
53
53
  s.add_development_dependency 'minitest'
54
54
  s.add_development_dependency 'minitest-reporters', '>= 1.6'
55
55
  s.add_development_dependency 'mocha'
@@ -59,6 +59,7 @@ Gem::Specification.new do |s|
59
59
  s.add_development_dependency 'yard'
60
60
 
61
61
  # Gems for testing integrations
62
+ s.add_development_dependency 'concurrent-ruby', '1.3.4' if defined? JRUBY_VERSION && JRUBY_VERSION < '9.4'
62
63
  s.add_development_dependency 'jsonify'
63
64
  s.add_development_dependency 'hashie'
64
65
  # Temporary support for Ruby 2.6, since it's EOL March 2022:
@@ -27,6 +27,7 @@ module Elasticsearch
27
27
  # @option arguments [List] :index A comma-separated list of index names to search; use `_all` or empty string to perform the operation on all indices
28
28
  # @option arguments [Time] :wait_for_completion_timeout Specify the time that the request should block waiting for the final response
29
29
  # @option arguments [Boolean] :keep_on_completion Control whether the response should be stored in the cluster if it completed within the provided [wait_for_completion] time (default: false)
30
+ # @option arguments [Time] :keep_alive Update the time interval in which the results (partial or final) for this search will be available
30
31
  # @option arguments [Number] :batched_reduce_size The number of shard results that should be reduced at once on the coordinating node. This value should be used as the granularity at which progress results will be made available.
31
32
  # @option arguments [Boolean] :request_cache Specify if request cache should be used for this request or not, defaults to true
32
33
  # @option arguments [String] :analyzer The analyzer to use for the query string
@@ -36,6 +36,7 @@ module Elasticsearch
36
36
  # @option arguments [Boolean] :require_alias Sets require_alias for all incoming documents. Defaults to unset (false)
37
37
  # @option arguments [Boolean] :require_data_stream When true, requires the destination to be a data stream (existing or to-be-created). Default is false
38
38
  # @option arguments [Boolean] :list_executed_pipelines Sets list_executed_pipelines for all incoming documents. Defaults to unset (false)
39
+ # @option arguments [Boolean] :include_source_on_error True or false if to include the document source in the error message in case of parsing errors. Defaults to true.
39
40
  # @option arguments [Hash] :headers Custom HTTP headers
40
41
  # @option arguments [String|Array] :body The operation definition and data (action-data pairs), separated by newlines. Array of Strings, Header/Data pairs,
41
42
  # or the conveniency "combined" format can be passed, refer to Elasticsearch::API::Utils.__bulkify documentation.
@@ -24,8 +24,6 @@ module Elasticsearch
24
24
  module Actions
25
25
  # Returns help for the Cat APIs.
26
26
  #
27
- # @option arguments [Boolean] :help Return help information
28
- # @option arguments [List] :s Comma-separated list of column names or column aliases to sort by
29
27
  # @option arguments [Hash] :headers Custom HTTP headers
30
28
  #
31
29
  # @see https://www.elastic.co/guide/en/elasticsearch/reference/8.17/cat.html
@@ -40,7 +38,7 @@ module Elasticsearch
40
38
 
41
39
  method = Elasticsearch::API::HTTP_GET
42
40
  path = '_cat'
43
- params = Utils.process_params(arguments)
41
+ params = {}
44
42
 
45
43
  Elasticsearch::API::Response.new(
46
44
  perform_request(method, path, params, body, headers, request_opts)
@@ -26,6 +26,8 @@ module Elasticsearch
26
26
  #
27
27
  # @option arguments [List] :index A comma-separated list of index names to limit the returned information
28
28
  # @option arguments [String] :format a short version of the Accept header, e.g. json, yaml
29
+ # @option arguments [Boolean] :local Return local information, do not retrieve the state from master node (default: false)
30
+ # @option arguments [Time] :master_timeout Explicit operation timeout for connection to master node
29
31
  # @option arguments [String] :bytes The unit in which to display byte values (options: b, k, kb, m, mb, g, gb, t, tb, p, pb)
30
32
  # @option arguments [List] :h Comma-separated list of column names to display
31
33
  # @option arguments [Boolean] :help Return help information
@@ -38,6 +38,8 @@ module Elasticsearch
38
38
  # @option arguments [List] :s Comma-separated list of column names or column aliases to sort by
39
39
  # @option arguments [String] :time The unit in which to display time values (options: d, h, m, s, ms, micros, nanos)
40
40
  # @option arguments [Boolean] :v Verbose mode. Display column headers
41
+ # @option arguments [Time] :timeout Period to wait for a response. If no response is received before the timeout expires, the request fails and returns an error.
42
+ # @option arguments [Boolean] :wait_for_completion If `true`, the request blocks until the task has completed.
41
43
  # @option arguments [Hash] :headers Custom HTTP headers
42
44
  #
43
45
  # @see https://www.elastic.co/guide/en/elasticsearch/reference/8.17/tasks.html
@@ -34,6 +34,7 @@ module Elasticsearch
34
34
  # @option arguments [Number] :version Explicit version number for concurrency control
35
35
  # @option arguments [String] :version_type Specific version type (options: internal, external, external_gte)
36
36
  # @option arguments [String] :pipeline The pipeline id to preprocess incoming documents with
37
+ # @option arguments [Boolean] :include_source_on_error True or false if to include the document source in the error message in case of parsing errors. Defaults to true.
37
38
  # @option arguments [Hash] :headers Custom HTTP headers
38
39
  # @option arguments [Hash] :body The document (*Required*)
39
40
  #
@@ -28,6 +28,8 @@ module Elasticsearch
28
28
  # @option arguments [Time] :wait_for_completion_timeout Specify the time that the request should block waiting for the final response
29
29
  # @option arguments [Boolean] :keep_on_completion Control whether the response should be stored in the cluster if it completed within the provided [wait_for_completion] time (default: false)
30
30
  # @option arguments [Time] :keep_alive Update the time interval in which the results (partial or final) for this search will be available
31
+ # @option arguments [Boolean] :allow_partial_search_results Control whether the query should keep running in case of shard failures, and return partial results
32
+ # @option arguments [Boolean] :allow_partial_sequence_results Control whether a sequence query should return partial results or no results at all in case of shard failures. This option has effect only if [allow_partial_search_results] is true.
31
33
  # @option arguments [Hash] :headers Custom HTTP headers
32
34
  # @option arguments [Hash] :body Eql request body. Use the `query` to limit the query scope. (*Required*)
33
35
  #
@@ -0,0 +1,60 @@
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 build hash f284cc16f4d4b4289bc679aa1529bb504190fe80
19
+ # @see https://github.com/elastic/elasticsearch/tree/main/rest-api-spec
20
+ #
21
+ module Elasticsearch
22
+ module API
23
+ module Esql
24
+ module Actions
25
+ # Delete an async query request given its ID.
26
+ #
27
+ # @option arguments [String] :id The async query ID
28
+ # @option arguments [Hash] :headers Custom HTTP headers
29
+ #
30
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/8.17/esql-async-query-delete-api.html
31
+ #
32
+ def async_query_delete(arguments = {})
33
+ request_opts = { endpoint: arguments[:endpoint] || 'esql.async_query_delete' }
34
+
35
+ defined_params = [:id].each_with_object({}) do |variable, set_variables|
36
+ set_variables[variable] = arguments[variable] if arguments.key?(variable)
37
+ end
38
+ request_opts[:defined_params] = defined_params unless defined_params.empty?
39
+
40
+ raise ArgumentError, "Required argument 'id' missing" unless arguments[:id]
41
+
42
+ arguments = arguments.clone
43
+ headers = arguments.delete(:headers) || {}
44
+
45
+ body = nil
46
+
47
+ _id = arguments.delete(:id)
48
+
49
+ method = Elasticsearch::API::HTTP_DELETE
50
+ path = "_query/async/#{Utils.__listify(_id)}"
51
+ params = {}
52
+
53
+ Elasticsearch::API::Response.new(
54
+ perform_request(method, path, params, body, headers, request_opts)
55
+ )
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,60 @@
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 build hash f284cc16f4d4b4289bc679aa1529bb504190fe80
19
+ # @see https://github.com/elastic/elasticsearch/tree/main/rest-api-spec
20
+ #
21
+ module Elasticsearch
22
+ module API
23
+ module Esql
24
+ module Actions
25
+ # Stops a previously submitted async query request given its ID and collects the results.
26
+ #
27
+ # @option arguments [String] :id The async query ID
28
+ # @option arguments [Hash] :headers Custom HTTP headers
29
+ #
30
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/8.17/esql-async-query-stop-api.html
31
+ #
32
+ def async_query_stop(arguments = {})
33
+ request_opts = { endpoint: arguments[:endpoint] || 'esql.async_query_stop' }
34
+
35
+ defined_params = [:id].each_with_object({}) do |variable, set_variables|
36
+ set_variables[variable] = arguments[variable] if arguments.key?(variable)
37
+ end
38
+ request_opts[:defined_params] = defined_params unless defined_params.empty?
39
+
40
+ raise ArgumentError, "Required argument 'id' missing" unless arguments[:id]
41
+
42
+ arguments = arguments.clone
43
+ headers = arguments.delete(:headers) || {}
44
+
45
+ body = nil
46
+
47
+ _id = arguments.delete(:id)
48
+
49
+ method = Elasticsearch::API::HTTP_POST
50
+ path = "_query/async/#{Utils.__listify(_id)}/stop"
51
+ params = {}
52
+
53
+ Elasticsearch::API::Response.new(
54
+ perform_request(method, path, params, body, headers, request_opts)
55
+ )
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
@@ -37,6 +37,7 @@ module Elasticsearch
37
37
  # @option arguments [String] :pipeline The pipeline id to preprocess incoming documents with
38
38
  # @option arguments [Boolean] :require_alias When true, requires destination to be an alias. Default is false
39
39
  # @option arguments [Boolean] :require_data_stream When true, requires the destination to be a data stream (existing or to-be-created). Default is false
40
+ # @option arguments [Boolean] :include_source_on_error True or false if to include the document source in the error message in case of parsing errors. Defaults to true.
40
41
  # @option arguments [Hash] :headers Custom HTTP headers
41
42
  # @option arguments [Hash] :body The document (*Required*)
42
43
  #
@@ -0,0 +1,50 @@
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 build hash f284cc16f4d4b4289bc679aa1529bb504190fe80
19
+ # @see https://github.com/elastic/elasticsearch/tree/main/rest-api-spec
20
+ #
21
+ module Elasticsearch
22
+ module API
23
+ module Indices
24
+ module Actions
25
+ # Get data stream lifecycle statistics.
26
+ #
27
+ # @option arguments [Hash] :headers Custom HTTP headers
28
+ #
29
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/8.17/data-streams-get-lifecycle-stats.html
30
+ #
31
+ def get_data_lifecycle_stats(arguments = {})
32
+ request_opts = { endpoint: arguments[:endpoint] || 'indices.get_data_lifecycle_stats' }
33
+
34
+ arguments = arguments.clone
35
+ headers = arguments.delete(:headers) || {}
36
+
37
+ body = nil
38
+
39
+ method = Elasticsearch::API::HTTP_GET
40
+ path = '_lifecycle/stats'
41
+ params = {}
42
+
43
+ Elasticsearch::API::Response.new(
44
+ perform_request(method, path, params, body, headers, request_opts)
45
+ )
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -27,6 +27,7 @@ module Elasticsearch
27
27
  # @option arguments [String] :name The name of the template
28
28
  # @option arguments [Number] :order The order for this template when merging multiple matching ones (higher numbers are merged later, overriding the lower numbers)
29
29
  # @option arguments [Boolean] :create Whether the index template should only be added if new or can also replace an existing one
30
+ # @option arguments [String] :cause User defined reason for creating/updating the index template
30
31
  # @option arguments [Time] :master_timeout Specify timeout for connection to master
31
32
  # @option arguments [Hash] :headers Custom HTTP headers
32
33
  # @option arguments [Hash] :body The template definition (*Required*)
@@ -22,13 +22,14 @@ module Elasticsearch
22
22
  module API
23
23
  module Indices
24
24
  module Actions
25
- # Resolves the specified index expressions to return information about each cluster, including the local cluster, if included.
25
+ # Resolves the specified index expressions to return information about each cluster. If no index expression is provided, this endpoint will return information about all the remote clusters that are configured on the local cluster.
26
26
  #
27
27
  # @option arguments [List] :name A comma-separated list of cluster:index names or wildcard expressions
28
- # @option arguments [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when unavailable (missing or closed)
29
- # @option arguments [Boolean] :ignore_throttled Whether specified concrete, expanded or aliased indices should be ignored when throttled
30
- # @option arguments [Boolean] :allow_no_indices Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified)
31
- # @option arguments [String] :expand_wildcards Whether wildcard expressions should get expanded to open or closed indices (default: open) (options: open, closed, hidden, none, all)
28
+ # @option arguments [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when unavailable (missing or closed). Only allowed when providing an index expression.
29
+ # @option arguments [Boolean] :ignore_throttled Whether specified concrete, expanded or aliased indices should be ignored when throttled. Only allowed when providing an index expression.
30
+ # @option arguments [Boolean] :allow_no_indices Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified). Only allowed when providing an index expression.
31
+ # @option arguments [String] :expand_wildcards Whether wildcard expressions should get expanded to open or closed indices (default: open). Only allowed when providing an index expression. (options: open, closed, hidden, none, all)
32
+ # @option arguments [Time] :timeout The maximum time to wait for remote clusters to respond
32
33
  # @option arguments [Hash] :headers Custom HTTP headers
33
34
  #
34
35
  # @see https://www.elastic.co/guide/en/elasticsearch/reference/8.17/indices-resolve-cluster-api.html
@@ -41,8 +42,6 @@ module Elasticsearch
41
42
  end
42
43
  request_opts[:defined_params] = defined_params unless defined_params.empty?
43
44
 
44
- raise ArgumentError, "Required argument 'name' missing" unless arguments[:name]
45
-
46
45
  arguments = arguments.clone
47
46
  headers = arguments.delete(:headers) || {}
48
47
 
@@ -51,7 +50,11 @@ module Elasticsearch
51
50
  _name = arguments.delete(:name)
52
51
 
53
52
  method = Elasticsearch::API::HTTP_GET
54
- path = "_resolve/cluster/#{Utils.__listify(_name)}"
53
+ path = if _name
54
+ "_resolve/cluster/#{Utils.__listify(_name)}"
55
+ else
56
+ '_resolve/cluster'
57
+ end
55
58
  params = Utils.process_params(arguments)
56
59
 
57
60
  Elasticsearch::API::Response.new(
@@ -32,7 +32,6 @@ module Elasticsearch
32
32
  # @option arguments [Time] :master_timeout Specify timeout for connection to master
33
33
  # @option arguments [String] :wait_for_active_shards Set the number of active shards to wait for on the newly created rollover index before the operation returns.
34
34
  # @option arguments [Boolean] :lazy If set to true, the rollover action will only mark a data stream to signal that it needs to be rolled over at the next write. Only allowed on data streams.
35
- # @option arguments [Boolean] :target_failure_store If set to true, the rollover action will be applied on the failure store of the data stream.
36
35
  # @option arguments [Hash] :headers Custom HTTP headers
37
36
  # @option arguments [Hash] :body The conditions that needs to be met for executing rollover
38
37
  #
@@ -0,0 +1,61 @@
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 build hash f284cc16f4d4b4289bc679aa1529bb504190fe80
19
+ # @see https://github.com/elastic/elasticsearch/tree/main/rest-api-spec
20
+ #
21
+ module Elasticsearch
22
+ module API
23
+ module Inference
24
+ module Actions
25
+ # Perform chat completion inference
26
+ #
27
+ # @option arguments [String] :inference_id The inference Id
28
+ # @option arguments [Hash] :headers Custom HTTP headers
29
+ # @option arguments [Hash] :body The inference payload
30
+ #
31
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/8.17/chat-completion-inference.html
32
+ #
33
+ def chat_completion_unified(arguments = {})
34
+ request_opts = { endpoint: arguments[:endpoint] || 'inference.chat_completion_unified' }
35
+
36
+ defined_params = [:inference_id].each_with_object({}) do |variable, set_variables|
37
+ set_variables[variable] = arguments[variable] if arguments.key?(variable)
38
+ end
39
+ request_opts[:defined_params] = defined_params unless defined_params.empty?
40
+
41
+ raise ArgumentError, "Required argument 'inference_id' missing" unless arguments[:inference_id]
42
+
43
+ arguments = arguments.clone
44
+ headers = arguments.delete(:headers) || {}
45
+
46
+ body = arguments.delete(:body)
47
+
48
+ _inference_id = arguments.delete(:inference_id)
49
+
50
+ method = Elasticsearch::API::HTTP_POST
51
+ path = "_inference/chat_completion/#{Utils.__listify(_inference_id)}/_stream"
52
+ params = {}
53
+
54
+ Elasticsearch::API::Response.new(
55
+ perform_request(method, path, params, body, headers, request_opts)
56
+ )
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,61 @@
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 build hash f284cc16f4d4b4289bc679aa1529bb504190fe80
19
+ # @see https://github.com/elastic/elasticsearch/tree/main/rest-api-spec
20
+ #
21
+ module Elasticsearch
22
+ module API
23
+ module Inference
24
+ module Actions
25
+ # Perform completion inference
26
+ #
27
+ # @option arguments [String] :inference_id The inference Id
28
+ # @option arguments [Hash] :headers Custom HTTP headers
29
+ # @option arguments [Hash] :body The inference payload
30
+ #
31
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/8.17/post-inference-api.html
32
+ #
33
+ def completion(arguments = {})
34
+ request_opts = { endpoint: arguments[:endpoint] || 'inference.completion' }
35
+
36
+ defined_params = [:inference_id].each_with_object({}) do |variable, set_variables|
37
+ set_variables[variable] = arguments[variable] if arguments.key?(variable)
38
+ end
39
+ request_opts[:defined_params] = defined_params unless defined_params.empty?
40
+
41
+ raise ArgumentError, "Required argument 'inference_id' missing" unless arguments[:inference_id]
42
+
43
+ arguments = arguments.clone
44
+ headers = arguments.delete(:headers) || {}
45
+
46
+ body = arguments.delete(:body)
47
+
48
+ _inference_id = arguments.delete(:inference_id)
49
+
50
+ method = Elasticsearch::API::HTTP_POST
51
+ path = "_inference/completion/#{Utils.__listify(_inference_id)}"
52
+ params = {}
53
+
54
+ Elasticsearch::API::Response.new(
55
+ perform_request(method, path, params, body, headers, request_opts)
56
+ )
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -23,10 +23,6 @@ module Elasticsearch
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] :inference_id The inference Id
32
28
  # @option arguments [String] :task_type The task type
@@ -23,10 +23,6 @@ module Elasticsearch
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] :inference_id The inference Id
32
28
  # @option arguments [String] :task_type The task type
@@ -23,10 +23,6 @@ module Elasticsearch
23
23
  module Inference
24
24
  module Actions
25
25
  # Perform inference
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] :inference_id The inference Id
32
28
  # @option arguments [String] :task_type The task type
@@ -23,10 +23,6 @@ module Elasticsearch
23
23
  module Inference
24
24
  module Actions
25
25
  # Configure an inference endpoint for use in the Inference API
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] :inference_id The inference Id
32
28
  # @option arguments [String] :task_type The task type
@@ -0,0 +1,69 @@
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 build hash f284cc16f4d4b4289bc679aa1529bb504190fe80
19
+ # @see https://github.com/elastic/elasticsearch/tree/main/rest-api-spec
20
+ #
21
+ module Elasticsearch
22
+ module API
23
+ module Inference
24
+ module Actions
25
+ # Configure an AlibabaCloud AI Search inference endpoint
26
+ #
27
+ # @option arguments [String] :task_type The task type
28
+ # @option arguments [String] :alibabacloud_inference_id The inference Id
29
+ # @option arguments [Hash] :headers Custom HTTP headers
30
+ # @option arguments [Hash] :body The inference endpoint's task and service settings
31
+ #
32
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/8.17/infer-service-alibabacloud-ai-search.html
33
+ #
34
+ def put_alibabacloud(arguments = {})
35
+ request_opts = { endpoint: arguments[:endpoint] || 'inference.put_alibabacloud' }
36
+
37
+ defined_params = %i[task_type alibabacloud_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 'task_type' missing" unless arguments[:task_type]
43
+
44
+ unless arguments[:alibabacloud_inference_id]
45
+ raise ArgumentError,
46
+ "Required argument 'alibabacloud_inference_id' missing"
47
+ end
48
+
49
+ arguments = arguments.clone
50
+ headers = arguments.delete(:headers) || {}
51
+
52
+ body = arguments.delete(:body)
53
+
54
+ _task_type = arguments.delete(:task_type)
55
+
56
+ _alibabacloud_inference_id = arguments.delete(:alibabacloud_inference_id)
57
+
58
+ method = Elasticsearch::API::HTTP_PUT
59
+ path = "_inference/#{Utils.__listify(_task_type)}/#{Utils.__listify(_alibabacloud_inference_id)}"
60
+ params = {}
61
+
62
+ Elasticsearch::API::Response.new(
63
+ perform_request(method, path, params, body, headers, request_opts)
64
+ )
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end