diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cat/recovery.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cat/recovery.rb index 1d2dfafce8..fff0d8e372 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cat/recovery.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cat/recovery.rb @@ -33,11 +33,12 @@ module Actions # @option arguments [Boolean] :active_only If `true`, the response only includes ongoing shard recoveries. # @option arguments [String] :bytes The unit used to display byte values. # @option arguments [Boolean] :detailed If `true`, the response includes detailed information about shard recoveries. - # @option arguments [String, Array] :h List of columns to appear in the response. Supports simple wildcards. - # @option arguments [String, Array] :s List of columns that determine how the table should be sorted. + # @option arguments [String, Array] :h A comma-separated list of columns names to display. + # It supports simple wildcards. Server default: ip,hp,rp,r,m,n,cpu,l. + # @option arguments [String, Array] :s A comma-separated list of column names or aliases that determines the sort order. # Sorting defaults to ascending and can be changed by setting `:asc` # or `:desc` as a suffix to the column name. - # @option arguments [String] :time Unit used to display time values. + # @option arguments [String] :time The unit used to display time values. # @option arguments [String] :format Specifies the format to return the columnar data in, can be set to # `text`, `json`, `cbor`, `yaml`, or `smile`. Server default: text. # @option arguments [Boolean] :help When set to `true` will output available columns. This option diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cat/segments.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cat/segments.rb index d4aac7e32d..73210c272b 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cat/segments.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cat/segments.rb @@ -31,8 +31,9 @@ module Actions # Supports wildcards (`*`). # To target all data streams and indices, omit this parameter or use `*` or `_all`. # @option arguments [String] :bytes The unit used to display byte values. - # @option arguments [String, Array] :h List of columns to appear in the response. Supports simple wildcards. - # @option arguments [String, Array] :s List of columns that determine how the table should be sorted. + # @option arguments [String, Array] :h A comma-separated list of columns names to display. + # It supports simple wildcards. Server default: ip,hp,rp,r,m,n,cpu,l. + # @option arguments [String, Array] :s A comma-separated list of column names or aliases that determines the sort order. # Sorting defaults to ascending and can be changed by setting `:asc` # or `:desc` as a suffix to the column name. # @option arguments [Boolean] :local If `true`, the request computes the list of selected nodes from the diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cat/shards.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cat/shards.rb index fd96233ec1..c040372628 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cat/shards.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cat/shards.rb @@ -32,11 +32,11 @@ module Actions # To target all data streams and indices, omit this parameter or use `*` or `_all`. # @option arguments [String] :bytes The unit used to display byte values. # @option arguments [String, Array] :h List of columns to appear in the response. Supports simple wildcards. - # @option arguments [String, Array] :s List of columns that determine how the table should be sorted. + # @option arguments [String, Array] :s A comma-separated list of column names or aliases that determines the sort order. # Sorting defaults to ascending and can be changed by setting `:asc` # or `:desc` as a suffix to the column name. - # @option arguments [Time] :master_timeout Period to wait for a connection to the master node. Server default: 30s. - # @option arguments [String] :time Unit used to display time values. + # @option arguments [Time] :master_timeout The period to wait for a connection to the master node. Server default: 30s. + # @option arguments [String] :time The unit used to display time values. # @option arguments [String] :format Specifies the format to return the columnar data in, can be set to # `text`, `json`, `cbor`, `yaml`, or `smile`. Server default: text. # @option arguments [Boolean] :help When set to `true` will output available columns. This option diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cat/snapshots.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cat/snapshots.rb index 51296ffab3..819d85ea77 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cat/snapshots.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cat/snapshots.rb @@ -32,7 +32,8 @@ module Actions # `_all` returns all repositories. # If any repository fails during the request, Elasticsearch returns an error. # @option arguments [Boolean] :ignore_unavailable If `true`, the response does not include information from unavailable snapshots. - # @option arguments [String, Array] :h List of columns to appear in the response. Supports simple wildcards. + # @option arguments [String, Array] :h A comma-separated list of columns names to display. + # It supports simple wildcards. Server default: ip,hp,rp,r,m,n,cpu,l. # @option arguments [String, Array] :s List of columns that determine how the table should be sorted. # Sorting defaults to ascending and can be changed by setting `:asc` # or `:desc` as a suffix to the column name. diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cat/thread_pool.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cat/thread_pool.rb index 505b1c5257..fd934c3c34 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cat/thread_pool.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cat/thread_pool.rb @@ -30,7 +30,7 @@ module Actions # @option arguments [String, Array] :thread_pool_patterns A comma-separated list of thread pool names used to limit the request. # Accepts wildcard expressions. # @option arguments [String, Array] :h List of columns to appear in the response. Supports simple wildcards. - # @option arguments [String, Array] :s List of columns that determine how the table should be sorted. + # @option arguments [String, Array] :s A comma-separated list of column names or aliases that determines the sort order. # Sorting defaults to ascending and can be changed by setting `:asc` # or `:desc` as a suffix to the column name. # @option arguments [String] :time The unit used to display time values. @@ -38,7 +38,7 @@ module Actions # local cluster state. If `false` the list of selected nodes are computed # from the cluster state of the master node. In both cases the coordinating # node will send requests for further information to each selected node. - # @option arguments [Time] :master_timeout Period to wait for a connection to the master node. Server default: 30s. + # @option arguments [Time] :master_timeout The period to wait for a connection to the master node. Server default: 30s. # @option arguments [String] :format Specifies the format to return the columnar data in, can be set to # `text`, `json`, `cbor`, `yaml`, or `smile`. Server default: text. # @option arguments [Boolean] :help When set to `true` will output available columns. This option diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cluster/get_component_template.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cluster/get_component_template.rb index b1f17237bb..96d74d81ea 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cluster/get_component_template.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cluster/get_component_template.rb @@ -28,6 +28,7 @@ module Actions # @option arguments [String] :name Comma-separated list of component template names used to limit the request. # Wildcard (`*`) expressions are supported. # @option arguments [Boolean] :flat_settings If `true`, returns settings in flat format. + # @option arguments [String, Array] :settings_filter Filter out results, for example to filter out sensitive information. Supports wildcards or full settings keys # @option arguments [Boolean] :include_defaults Return all default configurations for the component template (default: false) # @option arguments [Boolean] :local If `true`, the request retrieves information from the local node only. # If `false`, information is retrieved from the master node. diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cluster/put_component_template.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cluster/put_component_template.rb index 5b1d9d2ac6..4ef90fcdf6 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cluster/put_component_template.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cluster/put_component_template.rb @@ -43,6 +43,7 @@ module Actions # If you use Elastic Agent and want to overwrite one of these templates, set the `version` for your replacement template higher than the current version. # If you don’t use Elastic Agent and want to disable all built-in component and index templates, set `stack.templates.enabled` to `false` using the cluster update settings API. (*Required*) # @option arguments [Boolean] :create If `true`, this request cannot replace or update existing component templates. + # @option arguments [String] :cause User defined reason for create the component template. Server default: api. # @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. # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/eql/search.rb b/elasticsearch-api/lib/elasticsearch/api/actions/eql/search.rb index 33772492da..957bb433ad 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/eql/search.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/eql/search.rb @@ -27,11 +27,12 @@ module Actions # EQL assumes each document in a data stream or index corresponds to an event. # # @option arguments [String, Array] :index The name of the index to scope the operation (*Required*) - # @option arguments [Boolean] :allow_no_indices [TODO] Server default: true. + # @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) Server default: true. # @option arguments [Boolean] :allow_partial_search_results If true, returns partial results if there are shard failures. If false, returns an error with no partial results. Server default: true. # @option arguments [Boolean] :allow_partial_sequence_results If true, sequence queries will return partial results in case of shard failures. If false, they will return no results at all. # This flag has effect only if allow_partial_search_results is true. - # @option arguments [String, Array] :expand_wildcards [TODO] Server default: open. + # @option arguments [String, Array] :expand_wildcards Whether to expand wildcard expression to concrete indices that are open, closed or both. Server default: open. + # @option arguments [Boolean] :ccs_minimize_roundtrips Indicates whether network round-trips should be minimized as part of cross-cluster search requests execution Server default: true. # @option arguments [Boolean] :ignore_unavailable If true, missing or closed indices are not included in the response. Server default: true. # @option arguments [Time] :keep_alive Period for which the search and its results are stored on the cluster. Server default: 5d. # @option arguments [Boolean] :keep_on_completion If true, the search and its results are stored on the cluster. diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/get_source.rb b/elasticsearch-api/lib/elasticsearch/api/actions/get_source.rb index 09ff866242..92c76cdc1f 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/get_source.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/get_source.rb @@ -46,7 +46,6 @@ module Actions # @option arguments [Boolean, String, Array] :_source Indicates whether to return the `_source` field (`true` or `false`) or lists the fields to return. # @option arguments [String, Array] :_source_excludes A comma-separated list of source fields to exclude in the response. # @option arguments [String, Array] :_source_includes A comma-separated list of source fields to include in the response. - # @option arguments [String, Array] :stored_fields A comma-separated list of stored fields to return as part of a hit. # @option arguments [Integer] :version The version number for concurrency control. # It must match the current version of the document for the request to succeed. # @option arguments [String] :version_type The version type. diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/index.rb b/elasticsearch-api/lib/elasticsearch/api/actions/index.rb index 5f9609c74e..ae585903bc 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/index.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/index.rb @@ -138,6 +138,7 @@ module Actions # You can set it to `all` or any positive integer up to the total number of shards in the index (`number_of_replicas+1`). # The default value of `1` means it waits for each primary shard to be active. Server default: 1. # @option arguments [Boolean] :require_alias If `true`, the destination must be an index alias. + # @option arguments [Boolean] :require_data_stream If `true`, the request's actions must target a data stream (existing or to be created). # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors # when they occur. # @option arguments [String, Array] :filter_path Comma-separated list of filters in dot notation which reduce the response diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/remove_block.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/remove_block.rb new file mode 100644 index 0000000000..3d1db416e4 --- /dev/null +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/remove_block.rb @@ -0,0 +1,93 @@ +# Licensed to Elasticsearch B.V. under one or more contributor +# license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright +# ownership. Elasticsearch B.V. licenses this file to you under +# the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# +# This code was automatically generated from the Elasticsearch Specification +# See https://github.com/elastic/elasticsearch-specification +# See Elasticsearch::ES_SPECIFICATION_COMMIT for commit hash. +module Elasticsearch + module API + module Indices + module Actions + # Remove an index block. + # Remove an index block from an index. + # Index blocks limit the operations allowed on an index by blocking specific operation types. + # + # @option arguments [String] :index A comma-separated list or wildcard expression of index names used to limit the request. + # By default, you must explicitly name the indices you are removing blocks from. + # To allow the removal of blocks from indices with `_all`, `*`, or other wildcard expressions, change the `action.destructive_requires_name` setting to `false`. + # You can update this setting in the `elasticsearch.yml` file or by using the cluster update settings API. (*Required*) + # @option arguments [String] :block The block type to remove from the index. (*Required*) + # @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. + # This behavior applies even if the request targets other open indices. + # 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. + # @option arguments [String, Array] :expand_wildcards The type of index that wildcard patterns can match. + # If the request can target data streams, this argument determines whether wildcard expressions match hidden data streams. + # It supports comma-separated values, such as `open,hidden`. Server default: open. + # @option arguments [Boolean] :ignore_unavailable If `false`, the request returns an error if it targets a missing or closed index. + # @option arguments [Time] :master_timeout The period to wait for the master node. + # If the master node is not available before the timeout expires, the request fails and returns an error. + # It can also be set to `-1` to indicate that the request should never timeout. Server default: 30s. + # @option arguments [Time] :timeout The period to wait for a response from all relevant nodes in the cluster after updating the cluster metadata. + # If no response is received before the timeout expires, the cluster metadata update still applies but the response will indicate that it was not completely acknowledged. + # It can also be set to `-1` to indicate that the request should never timeout. Server default: 30s. + # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors + # when they occur. + # @option arguments [String, Array] :filter_path Comma-separated list of filters in dot notation which reduce the response + # returned by Elasticsearch. + # @option arguments [Boolean] :human When set to `true` will return statistics in a format suitable for humans. + # For example `"exists_time": "1h"` for humans and + # `"exists_time_in_millis": 3600000` for computers. When disabled the human + # readable values will be omitted. This makes sense for responses being consumed + # only by machines. + # @option arguments [Boolean] :pretty If set to `true` the returned JSON will be "pretty-formatted". Only use + # this option for debugging only. + # @option arguments [Hash] :headers Custom HTTP headers + # + # @see https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-remove-block + # + def remove_block(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || 'indices.remove_block' } + + defined_params = [:index, :block].each_with_object({}) do |variable, set_variables| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] + raise ArgumentError, "Required argument 'block' missing" unless arguments[:block] + + arguments = arguments.clone + headers = arguments.delete(:headers) || {} + + body = nil + + _index = arguments.delete(:index) + + _block = arguments.delete(:block) + + method = Elasticsearch::API::HTTP_DELETE + path = "#{Utils.listify(_index)}/_block/#{Utils.listify(_block)}" + params = Utils.process_params(arguments) + + Elasticsearch::API::Response.new( + perform_request(method, path, params, body, headers, request_opts) + ) + end + end + end + end +end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put.rb b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put.rb index 15809dde8a..9f9c86a981 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put.rb @@ -33,6 +33,7 @@ module Actions # * Azure AI Studio (`completion`, `text_embedding`) # * Azure OpenAI (`completion`, `text_embedding`) # * Cohere (`completion`, `rerank`, `text_embedding`) + # * DeepSeek (`completion`, `chat_completion`) # * Elasticsearch (`rerank`, `sparse_embedding`, `text_embedding` - this service is for built-in models and models uploaded through Eland) # * ELSER (`sparse_embedding`) # * Google AI Studio (`completion`, `text_embedding`) @@ -46,6 +47,7 @@ module Actions # # @option arguments [String] :task_type The task type. Refer to the integration list in the API description for the available task types. # @option arguments [String] :inference_id The inference Id (*Required*) + # @option arguments [Time] :timeout Specifies the amount of time to wait for the inference endpoint to be created. Server default: 30s. # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors # when they occur. # @option arguments [String, Array] :filter_path Comma-separated list of filters in dot notation which reduce the response diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_alibabacloud.rb b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_alibabacloud.rb index e43c65e847..7484179b91 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_alibabacloud.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_alibabacloud.rb @@ -27,6 +27,7 @@ module Actions # # @option arguments [String] :task_type The type of the inference task that the model will perform. (*Required*) # @option arguments [String] :alibabacloud_inference_id The unique identifier of the inference endpoint. (*Required*) + # @option arguments [Time] :timeout Specifies the amount of time to wait for the inference endpoint to be created. Server default: 30s. # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors # when they occur. # @option arguments [String, Array] :filter_path Comma-separated list of filters in dot notation which reduce the response diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_amazonbedrock.rb b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_amazonbedrock.rb index 9df1782073..cb0b583456 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_amazonbedrock.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_amazonbedrock.rb @@ -27,6 +27,7 @@ module Actions # # @option arguments [String] :task_type The type of the inference task that the model will perform. (*Required*) # @option arguments [String] :amazonbedrock_inference_id The unique identifier of the inference endpoint. (*Required*) + # @option arguments [Time] :timeout Specifies the amount of time to wait for the inference endpoint to be created. Server default: 30s. # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors # when they occur. # @option arguments [String, Array] :filter_path Comma-separated list of filters in dot notation which reduce the response diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_anthropic.rb b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_anthropic.rb index 57a86731d4..99113a7f81 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_anthropic.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_anthropic.rb @@ -28,6 +28,7 @@ module Actions # @option arguments [String] :task_type The task type. # The only valid task type for the model to perform is `completion`. (*Required*) # @option arguments [String] :anthropic_inference_id The unique identifier of the inference endpoint. (*Required*) + # @option arguments [Time] :timeout Specifies the amount of time to wait for the inference endpoint to be created. Server default: 30s. # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors # when they occur. # @option arguments [String, Array] :filter_path Comma-separated list of filters in dot notation which reduce the response diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_azureaistudio.rb b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_azureaistudio.rb index d3019a61a7..7fa0aec566 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_azureaistudio.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_azureaistudio.rb @@ -27,6 +27,7 @@ module Actions # # @option arguments [String] :task_type The type of the inference task that the model will perform. (*Required*) # @option arguments [String] :azureaistudio_inference_id The unique identifier of the inference endpoint. (*Required*) + # @option arguments [Time] :timeout Specifies the amount of time to wait for the inference endpoint to be created. Server default: 30s. # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors # when they occur. # @option arguments [String, Array] :filter_path Comma-separated list of filters in dot notation which reduce the response diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_azureopenai.rb b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_azureopenai.rb index d18f4ca42c..64e1cd829b 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_azureopenai.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_azureopenai.rb @@ -32,6 +32,7 @@ module Actions # @option arguments [String] :task_type The type of the inference task that the model will perform. # NOTE: The `chat_completion` task type only supports streaming and only through the _stream API. (*Required*) # @option arguments [String] :azureopenai_inference_id The unique identifier of the inference endpoint. (*Required*) + # @option arguments [Time] :timeout Specifies the amount of time to wait for the inference endpoint to be created. Server default: 30s. # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors # when they occur. # @option arguments [String, Array] :filter_path Comma-separated list of filters in dot notation which reduce the response diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_cohere.rb b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_cohere.rb index b9fecbf0ee..c087699473 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_cohere.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_cohere.rb @@ -27,6 +27,7 @@ module Actions # # @option arguments [String] :task_type The type of the inference task that the model will perform. (*Required*) # @option arguments [String] :cohere_inference_id The unique identifier of the inference endpoint. (*Required*) + # @option arguments [Time] :timeout Specifies the amount of time to wait for the inference endpoint to be created. Server default: 30s. # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors # when they occur. # @option arguments [String, Array] :filter_path Comma-separated list of filters in dot notation which reduce the response diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_deepseek.rb b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_deepseek.rb new file mode 100644 index 0000000000..066b07d529 --- /dev/null +++ b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_deepseek.rb @@ -0,0 +1,82 @@ +# Licensed to Elasticsearch B.V. under one or more contributor +# license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright +# ownership. Elasticsearch B.V. licenses this file to you under +# the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# +# This code was automatically generated from the Elasticsearch Specification +# See https://github.com/elastic/elasticsearch-specification +# See Elasticsearch::ES_SPECIFICATION_COMMIT for commit hash. +module Elasticsearch + module API + module Inference + module Actions + # Create a DeepSeek inference endpoint. + # Create an inference endpoint to perform an inference task with the `deepseek` service. + # + # @option arguments [String] :task_type The type of the inference task that the model will perform. (*Required*) + # @option arguments [String] :deepseek_inference_id The unique identifier of the inference endpoint. (*Required*) + # @option arguments [Time] :timeout Specifies the amount of time to wait for the inference endpoint to be created. Server default: 30s. + # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors + # when they occur. + # @option arguments [String, Array] :filter_path Comma-separated list of filters in dot notation which reduce the response + # returned by Elasticsearch. + # @option arguments [Boolean] :human When set to `true` will return statistics in a format suitable for humans. + # For example `"exists_time": "1h"` for humans and + # `"exists_time_in_millis": 3600000` for computers. When disabled the human + # readable values will be omitted. This makes sense for responses being consumed + # only by machines. + # @option arguments [Boolean] :pretty If set to `true` the returned JSON will be "pretty-formatted". Only use + # this option for debugging only. + # @option arguments [Hash] :headers Custom HTTP headers + # @option arguments [Hash] :body request body + # + # @see https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-inference-put-deepseek + # + def put_deepseek(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || 'inference.put_deepseek' } + + defined_params = [:task_type, :deepseek_inference_id].each_with_object({}) do |variable, set_variables| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + + raise ArgumentError, "Required argument 'task_type' missing" unless arguments[:task_type] + + unless arguments[:deepseek_inference_id] + raise ArgumentError, + "Required argument 'deepseek_inference_id' missing" + end + + arguments = arguments.clone + headers = arguments.delete(:headers) || {} + + body = arguments.delete(:body) + + _task_type = arguments.delete(:task_type) + + _deepseek_inference_id = arguments.delete(:deepseek_inference_id) + + method = Elasticsearch::API::HTTP_PUT + path = "_inference/#{Utils.listify(_task_type)}/#{Utils.listify(_deepseek_inference_id)}" + params = Utils.process_params(arguments) + + Elasticsearch::API::Response.new( + perform_request(method, path, params, body, headers, request_opts) + ) + end + end + end + end +end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_elasticsearch.rb b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_elasticsearch.rb index aecaa6eadd..23f0304060 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_elasticsearch.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_elasticsearch.rb @@ -28,6 +28,7 @@ module Actions # @option arguments [String] :task_type The type of the inference task that the model will perform. (*Required*) # @option arguments [String] :elasticsearch_inference_id The unique identifier of the inference endpoint. # The must not match the `model_id`. (*Required*) + # @option arguments [Time] :timeout Specifies the amount of time to wait for the inference endpoint to be created. Server default: 30s. # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors # when they occur. # @option arguments [String, Array] :filter_path Comma-separated list of filters in dot notation which reduce the response diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_elser.rb b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_elser.rb index 0cdfd11e04..23781d41fe 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_elser.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_elser.rb @@ -28,6 +28,7 @@ module Actions # # @option arguments [String] :task_type The type of the inference task that the model will perform. (*Required*) # @option arguments [String] :elser_inference_id The unique identifier of the inference endpoint. (*Required*) + # @option arguments [Time] :timeout Specifies the amount of time to wait for the inference endpoint to be created. Server default: 30s. # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors # when they occur. # @option arguments [String, Array] :filter_path Comma-separated list of filters in dot notation which reduce the response diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_googleaistudio.rb b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_googleaistudio.rb index 94c1931f20..e17a2c2034 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_googleaistudio.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_googleaistudio.rb @@ -27,6 +27,7 @@ module Actions # # @option arguments [String] :task_type The type of the inference task that the model will perform. (*Required*) # @option arguments [String] :googleaistudio_inference_id The unique identifier of the inference endpoint. (*Required*) + # @option arguments [Time] :timeout Specifies the amount of time to wait for the inference endpoint to be created. Server default: 30s. # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors # when they occur. # @option arguments [String, Array] :filter_path Comma-separated list of filters in dot notation which reduce the response diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_googlevertexai.rb b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_googlevertexai.rb index c182992c39..4d8db90eec 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_googlevertexai.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_googlevertexai.rb @@ -27,6 +27,7 @@ module Actions # # @option arguments [String] :task_type The type of the inference task that the model will perform. (*Required*) # @option arguments [String] :googlevertexai_inference_id The unique identifier of the inference endpoint. (*Required*) + # @option arguments [Time] :timeout Specifies the amount of time to wait for the inference endpoint to be created. Server default: 30s. # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors # when they occur. # @option arguments [String, Array] :filter_path Comma-separated list of filters in dot notation which reduce the response diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_hugging_face.rb b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_hugging_face.rb index e2b259c920..daaa7d2e48 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_hugging_face.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_hugging_face.rb @@ -55,6 +55,7 @@ module Actions # # @option arguments [String] :task_type The type of the inference task that the model will perform. (*Required*) # @option arguments [String] :huggingface_inference_id The unique identifier of the inference endpoint. (*Required*) + # @option arguments [Time] :timeout Specifies the amount of time to wait for the inference endpoint to be created. Server default: 30s. # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors # when they occur. # @option arguments [String, Array] :filter_path Comma-separated list of filters in dot notation which reduce the response diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_jinaai.rb b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_jinaai.rb index ee58f69b6f..fff81ef27a 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_jinaai.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_jinaai.rb @@ -29,6 +29,7 @@ module Actions # # @option arguments [String] :task_type The type of the inference task that the model will perform. (*Required*) # @option arguments [String] :jinaai_inference_id The unique identifier of the inference endpoint. (*Required*) + # @option arguments [Time] :timeout Specifies the amount of time to wait for the inference endpoint to be created. Server default: 30s. # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors # when they occur. # @option arguments [String, Array] :filter_path Comma-separated list of filters in dot notation which reduce the response diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_mistral.rb b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_mistral.rb index efe1d161a7..9a30ff2759 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_mistral.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_mistral.rb @@ -27,6 +27,7 @@ module Actions # # @option arguments [String] :task_type The type of the inference task that the model will perform. (*Required*) # @option arguments [String] :mistral_inference_id The unique identifier of the inference endpoint. (*Required*) + # @option arguments [Time] :timeout Specifies the amount of time to wait for the inference endpoint to be created. Server default: 30s. # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors # when they occur. # @option arguments [String, Array] :filter_path Comma-separated list of filters in dot notation which reduce the response diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_openai.rb b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_openai.rb index 1939bbb541..f6c92df0c9 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_openai.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_openai.rb @@ -28,6 +28,7 @@ module Actions # @option arguments [String] :task_type The type of the inference task that the model will perform. # NOTE: The `chat_completion` task type only supports streaming and only through the _stream API. (*Required*) # @option arguments [String] :openai_inference_id The unique identifier of the inference endpoint. (*Required*) + # @option arguments [Time] :timeout Specifies the amount of time to wait for the inference endpoint to be created. Server default: 30s. # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors # when they occur. # @option arguments [String, Array] :filter_path Comma-separated list of filters in dot notation which reduce the response diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_voyageai.rb b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_voyageai.rb index c12f39cbc6..a4033870c6 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_voyageai.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_voyageai.rb @@ -28,6 +28,7 @@ module Actions # # @option arguments [String] :task_type The type of the inference task that the model will perform. (*Required*) # @option arguments [String] :voyageai_inference_id The unique identifier of the inference endpoint. (*Required*) + # @option arguments [Time] :timeout Specifies the amount of time to wait for the inference endpoint to be created. Server default: 30s. # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors # when they occur. # @option arguments [String, Array] :filter_path Comma-separated list of filters in dot notation which reduce the response diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_watsonx.rb b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_watsonx.rb index 9d9d0b530b..a08c0ce112 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_watsonx.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_watsonx.rb @@ -29,6 +29,7 @@ module Actions # # @option arguments [String] :task_type The type of the inference task that the model will perform. (*Required*) # @option arguments [String] :watsonx_inference_id The unique identifier of the inference endpoint. (*Required*) + # @option arguments [Time] :timeout Specifies the amount of time to wait for the inference endpoint to be created. Server default: 30s. # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors # when they occur. # @option arguments [String, Array] :filter_path Comma-separated list of filters in dot notation which reduce the response diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/inference/rerank.rb b/elasticsearch-api/lib/elasticsearch/api/actions/inference/rerank.rb index b462a30dd1..8f65a97c47 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/inference/rerank.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/inference/rerank.rb @@ -22,7 +22,7 @@ module Elasticsearch module API module Inference module Actions - # Perform rereanking inference on the service + # Perform reranking inference on the service # # @option arguments [String] :inference_id The unique identifier for the inference endpoint. (*Required*) # @option arguments [Time] :timeout The amount of time to wait for the inference request to complete. Server default: 30s. diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/inference/stream_completion.rb b/elasticsearch-api/lib/elasticsearch/api/actions/inference/stream_completion.rb index 81494f1f52..8ffbad6192 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/inference/stream_completion.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/inference/stream_completion.rb @@ -29,6 +29,7 @@ module Actions # This API requires the `monitor_inference` cluster privilege (the built-in `inference_admin` and `inference_user` roles grant this privilege). You must use a client that supports streaming. # # @option arguments [String] :inference_id The unique identifier for the inference endpoint. (*Required*) + # @option arguments [Time] :timeout The amount of time to wait for the inference request to complete. Server default: 30s. # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors # when they occur. # @option arguments [String, Array] :filter_path Comma-separated list of filters in dot notation which reduce the response diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/ingest/get_ip_location_database.rb b/elasticsearch-api/lib/elasticsearch/api/actions/ingest/get_ip_location_database.rb index 76efbcc081..c753cbbcdc 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/ingest/get_ip_location_database.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/ingest/get_ip_location_database.rb @@ -27,9 +27,6 @@ module Actions # @option arguments [String, Array] :id Comma-separated list of database configuration IDs to retrieve. # Wildcard (`*`) expressions are supported. # To get all database configurations, omit this parameter or use `*`. - # @option arguments [Time] :master_timeout The 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. - # A value of `-1` indicates that the request should never time out. Server default: 30s. # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors # when they occur. # @option arguments [String, Array] :filter_path Comma-separated list of filters in dot notation which reduce the response diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/license/post_start_trial.rb b/elasticsearch-api/lib/elasticsearch/api/actions/license/post_start_trial.rb index bd4a8cd7dc..594af810a8 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/license/post_start_trial.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/license/post_start_trial.rb @@ -29,7 +29,7 @@ module Actions # To check the status of your trial, use the get trial status API. # # @option arguments [Boolean] :acknowledge whether the user has acknowledged acknowledge messages (default: false) - # @option arguments [String] :type_query_string [TODO] + # @option arguments [String] :type The type of trial license to generate (default: "trial") # @option arguments [Time] :master_timeout Period to wait for a connection to the master node. Server default: 30s. # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors # when they occur. diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/reindex.rb b/elasticsearch-api/lib/elasticsearch/api/actions/reindex.rb index 8da7e90752..1f1007cdca 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/reindex.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/reindex.rb @@ -62,6 +62,9 @@ module Actions # This parallelization can improve efficiency and provide a convenient way to break the request down into smaller parts.NOTE: Reindexing from remote clusters does not support manual or automatic slicing.If set to `auto`, Elasticsearch chooses the number of slices to use. # This setting will use one slice per shard, up to a certain limit. # If there are multiple sources, it will choose the number of slices based on the index or backing index with the smallest number of shards. Server default: 1. + # @option arguments [Integer] :max_docs The maximum number of documents to reindex. + # By default, all documents are reindexed. + # If it is a value less then or equal to `scroll_size`, a scroll will not be used to retrieve the results for the operation.If `conflicts` is set to `proceed`, the reindex operation could attempt to reindex more documents from the source than `max_docs` until it has successfully indexed `max_docs` documents into the target or it has gone through every document in the source query. # @option arguments [Time] :timeout The period each indexing waits for automatic index creation, dynamic mapping updates, and waiting for active shards. # By default, Elasticsearch waits for at least one minute before failing. # The actual wait time could be longer, particularly when multiple waits occur. Server default: 1m. diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/search_mvt.rb b/elasticsearch-api/lib/elasticsearch/api/actions/search_mvt.rb index fe2b4b3410..a65a671fa7 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/search_mvt.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/search_mvt.rb @@ -117,6 +117,9 @@ module Actions # of the cell. Server default: grid. # @option arguments [Integer] :size Maximum number of features to return in the hits layer. Accepts 0-10000. # If 0, results don't include the hits layer. Server default: 10000. + # @option arguments [Boolean, Integer] :track_total_hits The number of hits matching the query to count accurately. + # If `true`, the exact number of hits is returned at the cost of some performance. + # If `false`, the response does not include the total number of hits matching the query. Server default: 10000. # @option arguments [Boolean] :with_labels If `true`, the hits and aggs layers will contain additional point features representing # suggested label positions for the original features. # - `Point` and `MultiPoint` features will have one of the points selected. diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/get_user_privileges.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/get_user_privileges.rb index c060231760..86cb9086a9 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/get_user_privileges.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/get_user_privileges.rb @@ -28,9 +28,6 @@ module Actions # To check the privileges of other users, you must use the run as feature. # To check whether a user has a specific list of privileges, use the has privileges API. # - # @option arguments [String] :application The name of the application. Application privileges are always associated with exactly one application. If you do not specify this parameter, the API returns information about all privileges for all applications. - # @option arguments [String] :priviledge The name of the privilege. If you do not specify this parameter, the API returns information about all privileges for the requested application. - # @option arguments [String, nil] :username [TODO] # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors # when they occur. # @option arguments [String, Array] :filter_path Comma-separated list of filters in dot notation which reduce the response diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/grant_api_key.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/grant_api_key.rb index 043dbc4611..b89f8dbdc3 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/grant_api_key.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/grant_api_key.rb @@ -39,6 +39,10 @@ module Actions # If applicable, it also returns expiration information for the API key in milliseconds. # By default, API keys never expire. You can specify expiration information when you create the API keys. # + # @option arguments [String] :refresh If 'true', Elasticsearch refreshes the affected shards to make this operation + # visible to search. + # If 'wait_for', it waits for a refresh to make this operation visible to search. + # If 'false', nothing is done with refreshes. Server default: false. # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors # when they occur. # @option arguments [String, Array] :filter_path Comma-separated list of filters in dot notation which reduce the response diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/delete.rb b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/delete.rb index bed7ed95ee..b32dcfd150 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/delete.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/delete.rb @@ -30,6 +30,8 @@ module Actions # @option arguments [Time] :master_timeout The period to wait for the master node. # If the master node is not available before the timeout expires, the request fails and returns an error. # To indicate that the request should never timeout, set it to `-1`. Server default: 30s. + # @option arguments [Boolean] :wait_for_completion If `true`, the request returns a response when the matching snapshots are all deleted. + # If `false`, the request returns a response as soon as the deletes are scheduled. Server default: true. # @option arguments [Boolean] :error_trace When set to `true` Elasticsearch will include the full stack trace of errors # when they occur. # @option arguments [String, Array] :filter_path Comma-separated list of filters in dot notation which reduce the response diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/synonyms/put_synonym.rb b/elasticsearch-api/lib/elasticsearch/api/actions/synonyms/put_synonym.rb index 37359216c0..96ddd48175 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/synonyms/put_synonym.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/synonyms/put_synonym.rb @@ -27,6 +27,7 @@ module Actions # If you need to manage more synonym rules, you can create multiple synonym sets. # When an existing synonyms set is updated, the search analyzers that use the synonyms set are reloaded automatically for all indices. # This is equivalent to invoking the reload search analyzers API for all indices that use the synonyms set. + # For practical examples of how to create or update a synonyms set, refer to the External documentation. # # @option arguments [String] :id The ID of the synonyms set to be created or updated. (*Required*) # @option arguments [Boolean] :refresh If `true`, the request will refresh the analyzers with the new synonyms set and wait for the new synonyms to be available before returning. diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/update.rb b/elasticsearch-api/lib/elasticsearch/api/actions/update.rb index fadd2e549a..979f4437cf 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/update.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/update.rb @@ -34,6 +34,7 @@ module Actions # The document must still be reindexed, but using this API removes some network roundtrips and reduces chances of version conflicts between the GET and the index operation. # The `_source` field must be enabled to use this API. # In addition to `_source`, you can access the following variables through the `ctx` map: `_index`, `_type`, `_id`, `_version`, `_routing`, and `_now` (the current timestamp). + # For usage examples such as partial updates, upserts, and scripted updates, see the External documentation. # # @option arguments [String] :id A unique identifier for the document to be updated. (*Required*) # @option arguments [String] :index The name of the target index. diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/update_by_query.rb b/elasticsearch-api/lib/elasticsearch/api/actions/update_by_query.rb index b706ce947c..b612b2a62a 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/update_by_query.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/update_by_query.rb @@ -38,6 +38,24 @@ module Actions # A bulk update request is performed for each batch of matching documents. # Any query or update failures cause the update by query request to fail and the failures are shown in the response. # Any update requests that completed successfully still stick, they are not rolled back. + # **Refreshing shards** + # Specifying the `refresh` parameter refreshes all shards once the request completes. + # This is different to the update API's `refresh` parameter, which causes only the shard + # that received the request to be refreshed. Unlike the update API, it does not support + # `wait_for`. + # **Running update by query asynchronously** + # If the request contains `wait_for_completion=false`, Elasticsearch + # performs some preflight checks, launches the request, and returns a + # {https://www.elastic.co/docs/api/doc/elasticsearch/group/endpoint-tasks task} you can use to cancel or get the status of the task. + # Elasticsearch creates a record of this task as a document at `.tasks/task/${taskId}`. + # **Waiting for active shards** + # `wait_for_active_shards` controls how many copies of a shard must be active + # before proceeding with the request. See {https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-create#operation-create-wait_for_active_shards `wait_for_active_shards`} + # for details. `timeout` controls how long each write request waits for unavailable + # shards to become available. Both work exactly the way they work in the + # {https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-bulk Bulk API}. Update by query uses scrolled searches, so you can also + # specify the `scroll` parameter to control how long it keeps the search context + # alive, for example `?scroll=10m`. The default is 5 minutes. # **Throttling update requests** # To control the rate at which update by query issues batches of update operations, you can set `requests_per_second` to any positive decimal number. # This pads each batch with a wait time to throttle the rate. @@ -72,17 +90,7 @@ module Actions # * Query performance is most efficient when the number of slices is equal to the number of shards in the index or backing index. If that number is large (for example, 500), choose a lower number as too many slices hurts performance. Setting slices higher than the number of shards generally does not improve efficiency and adds overhead. # * Update performance scales linearly across available resources with the number of slices. # Whether query or update performance dominates the runtime depends on the documents being reindexed and cluster resources. - # **Update the document source** - # Update by query supports scripts to update the document source. - # As with the update API, you can set `ctx.op` to change the operation that is performed. - # Set `ctx.op = "noop"` if your script decides that it doesn't have to make any changes. - # The update by query operation skips updating the document and increments the `noop` counter. - # Set `ctx.op = "delete"` if your script decides that the document should be deleted. - # The update by query operation deletes the document and increments the `deleted` counter. - # Update by query supports only `index`, `noop`, and `delete`. - # Setting `ctx.op` to anything else is an error. - # Setting any other field in `ctx` is an error. - # This API enables you to only modify the source of matching documents; you cannot move them. + # Refer to the linked documentation for examples of how to update documents using the `_update_by_query` API: # # @option arguments [String, Array] :index A comma-separated list of data streams, indices, and aliases to search. # It supports wildcards (`*`). diff --git a/elasticsearch-api/lib/elasticsearch/api/version.rb b/elasticsearch-api/lib/elasticsearch/api/version.rb index aa75ce46e5..3fa9e88343 100644 --- a/elasticsearch-api/lib/elasticsearch/api/version.rb +++ b/elasticsearch-api/lib/elasticsearch/api/version.rb @@ -18,6 +18,6 @@ module Elasticsearch module API VERSION = '9.1.0'.freeze - ES_SPECIFICATION_COMMIT = 'cd2d1fba07d3224129ca5a8d6018d86f67004fdf'.freeze + ES_SPECIFICATION_COMMIT = '119eb27ee25a0be53121ed59edadbc5acb55462e'.freeze end end diff --git a/elasticsearch-api/spec/unit/actions/indices/remove_block_spec.rb b/elasticsearch-api/spec/unit/actions/indices/remove_block_spec.rb new file mode 100644 index 0000000000..1e7401307a --- /dev/null +++ b/elasticsearch-api/spec/unit/actions/indices/remove_block_spec.rb @@ -0,0 +1,65 @@ +# Licensed to Elasticsearch B.V. under one or more contributor +# license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright +# ownership. Elasticsearch B.V. licenses this file to you under +# the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +require 'spec_helper' + +describe 'client.indices#remove_block' do + let(:expected_args) do + [ + 'DELETE', + url, + {}, + nil, + {}, + { defined_params: { block: 'test_block', index: 'test_index' }, + endpoint: 'indices.remove_block' } + ] + end + let(:url) { "#{index}/_block/#{block}" } + let(:index) { 'test_index' } + let(:block) { 'test_block' } + + it 'performs the request' do + expect( + client_double.indices.remove_block(index: index, block: block) + ).to be_a Elasticsearch::API::Response + end + + context 'when an index is not specified' do + let(:client) do + Class.new { include Elasticsearch::API }.new + end + + it 'raises an argument error' do + expect do + client.indices.remove_block(block: block) + end.to raise_exception(ArgumentError) + end + end + + context 'when a block is not specified' do + let(:client) do + Class.new { include Elasticsearch::API }.new + end + + it 'raises an argument error' do + expect do + client.indices.remove_block(index: index) + end.to raise_exception(ArgumentError) + end + end +end diff --git a/elasticsearch-api/spec/unit/actions/inference/put_deepseek_spec.rb b/elasticsearch-api/spec/unit/actions/inference/put_deepseek_spec.rb new file mode 100644 index 0000000000..25cbe4e72e --- /dev/null +++ b/elasticsearch-api/spec/unit/actions/inference/put_deepseek_spec.rb @@ -0,0 +1,36 @@ +# Licensed to Elasticsearch B.V. under one or more contributor +# license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright +# ownership. Elasticsearch B.V. licenses this file to you under +# the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +require 'spec_helper' + +describe 'client#inference.put_deepseek' do + let(:expected_args) do + [ + 'PUT', + '_inference/foo/bar', + {}, + nil, + {}, + { defined_params: { deepseek_inference_id: 'bar', task_type: 'foo' }, + endpoint: 'inference.put_deepseek' } + ] + end + + it 'performs the request' do + expect(client_double.inference.put_deepseek(task_type: 'foo', deepseek_inference_id: 'bar')).to be_a Elasticsearch::API::Response + end +end