diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 202c677a68..2d3d84191a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -40,4 +40,4 @@ jobs: - name: elasticsearch run: cd elasticsearch && bundle exec rake test:all - name: elasticsearch-api - run: cd elasticsearch-api && bundle exec rake test:spec test:platinum:unit + run: rake elasticsearch:download_artifacts[8.11.0-SNAPSHOT] && cd elasticsearch-api && bundle exec rake test:spec test:platinum:unit diff --git a/docs/basic-config.asciidoc b/docs/basic-config.asciidoc index d23d517166..d0edd7ec76 100644 --- a/docs/basic-config.asciidoc +++ b/docs/basic-config.asciidoc @@ -8,29 +8,30 @@ can use. [cols="<,<,<"] |=== -| **Parameter** | **Data type** | **Description** -| `adapter` | Symbol | A specific adapter for Faraday (for example, `:patron`). -| `api_key` | String, Hash | For API key Authentication. Either the base64 encoding of `id` and `api_key` joined by a colon as a string, or a hash with the `id` and `api_key` values. -| `compression` | Boolean | Whether to compress requests. Gzip compression is used. Defaults to `false`. Responses are automatically inflated if they are compressed. If a custom transport object is used, it must handle the request compression and response inflation. -| `enable_meta_header` | Boolean | Whether to enable sending the meta data header to Cloud. Defaults to `true`. -| `hosts` | String, Array | Single host passed as a string or hash, or multiple hosts passed as an array; `host` or `url` keys are also valid. -| `log` | Boolean | Whether to use the default logger. Disabled by default. -| `logger` | Object | An instance of a Logger-compatible object. -| `opaque_id_prefix` | String | Sets a prefix for X-Opaque-Id when initializing the client. This is prepended to the id you set before each request if you're using X-Opaque-Id. -| `randomize_hosts` | Boolean | Whether to shuffle connections on initialization and reload. Defaults to `false`. -| `reload_connections` | Boolean, Number | Whether to reload connections after X requests. Defaults to `false`. -| `reload_on_failure` | Boolean | Whether to reload connections after failure. Defaults to `false`. -| `request_timeout` | Integer | The request timeout to be passed to transport in options. -| `resurrect_after` | Integer | Specifies after how many seconds a dead connection should be tried again. -| `retry_on_failure` | Boolean, Number | Whether to retry X times when request fails before raising and exception. Defaults to `false`. -| `retry_on_status` | Array, Number | Specifies which status code needs to be returned to retry. -| `selector` | Constant | An instance of selector strategy implemented with {Elastic::Transport::Transport::Connections::Selector::Base}. -| `send_get_body_as` | String | Specifies the HTTP method to use for GET requests with a body. Defaults to `GET`. -| `serializer_class` | Constant | Specifies a serializer class to use. It is initialized by the transport and passed the transport instance. -| `sniffer_timeout` | Integer | Specifieds the timeout for reloading connections in seconds. Defaults to `1`. -| `trace` | Boolean | Whether to use the default tracer. Disabled by default. -| `tracer` | Object | Specifies an instance of a Logger-compatible object. -| `transport` | Object | Specifies a transport instance. -| `transport_class` | Constant | Specifies a transport class to use. It is initialized by the client and passed hosts and all arguments. -| `transport_options` | Hash | Specifies the options to be passed to the `Faraday::Connection` constructor. +| **Parameter** | **Data type** | **Description** +| `adapter` | Symbol | A specific adapter for Faraday (for example, `:patron`). +| `api_key` | String, Hash | For API key Authentication. Either the base64 encoding of `id` and `api_key` joined by a colon as a string, or a hash with the `id` and `api_key` values. +| `compression` | Boolean | Whether to compress requests. Gzip compression is used. Defaults to `false`. Responses are automatically inflated if they are compressed. If a custom transport object is used, it must handle the request compression and response inflation. +| `enable_meta_header` | Boolean | Whether to enable sending the meta data header to Cloud. Defaults to `true`. +| `hosts` | String, Array | Single host passed as a string or hash, or multiple hosts passed as an array; `host` or `url` keys are also valid. +| `log` | Boolean | Whether to use the default logger. Disabled by default. +| `logger` | Object | An instance of a Logger-compatible object. +| `opaque_id_prefix` | String | Sets a prefix for X-Opaque-Id when initializing the client. This is prepended to the id you set before each request if you're using X-Opaque-Id. +| `opentelemetry_tracer_provider` | `OpenTelemetry::Trace::TracerProvider` | An explicit TracerProvider to use instead of the global one with OpenTelemetry. This enables better dependency injection and simplifies testing. +| `randomize_hosts` | Boolean | Whether to shuffle connections on initialization and reload. Defaults to `false`. +| `reload_connections` | Boolean, Number | Whether to reload connections after X requests. Defaults to `false`. +| `reload_on_failure` | Boolean | Whether to reload connections after failure. Defaults to `false`. +| `request_timeout` | Integer | The request timeout to be passed to transport in options. +| `resurrect_after` | Integer | Specifies after how many seconds a dead connection should be tried again. +| `retry_on_failure` | Boolean, Number | Whether to retry X times when request fails before raising and exception. Defaults to `false`. +| `retry_on_status` | Array, Number | Specifies which status code needs to be returned to retry. +| `selector` | Constant | An instance of selector strategy implemented with {Elastic::Transport::Transport::Connections::Selector::Base}. +| `send_get_body_as` | String | Specifies the HTTP method to use for GET requests with a body. Defaults to `GET`. +| `serializer_class` | Constant | Specifies a serializer class to use. It is initialized by the transport and passed the transport instance. +| `sniffer_timeout` | Integer | Specifies the timeout for reloading connections in seconds. Defaults to `1`. +| `trace` | Boolean | Whether to use the default tracer. Disabled by default. +| `tracer` | Object | Specifies an instance of a Logger-compatible object. +| `transport` | Object | Specifies a transport instance. +| `transport_class` | Constant | Specifies a transport class to use. It is initialized by the client and passed hosts and all arguments. +| `transport_options` | Hash | Specifies the options to be passed to the `Faraday::Connection` constructor. |=== diff --git a/docs/images/otel-waterfall-retry.png b/docs/images/otel-waterfall-retry.png new file mode 100644 index 0000000000..5a64515df1 Binary files /dev/null and b/docs/images/otel-waterfall-retry.png differ diff --git a/docs/images/otel-waterfall-with-http.png b/docs/images/otel-waterfall-with-http.png new file mode 100644 index 0000000000..7be0b080ad Binary files /dev/null and b/docs/images/otel-waterfall-with-http.png differ diff --git a/docs/images/otel-waterfall-without-http.png b/docs/images/otel-waterfall-without-http.png new file mode 100644 index 0000000000..d3b04cc6eb Binary files /dev/null and b/docs/images/otel-waterfall-without-http.png differ diff --git a/docs/open-telemetry.asciidoc b/docs/open-telemetry.asciidoc new file mode 100644 index 0000000000..e282546f45 --- /dev/null +++ b/docs/open-telemetry.asciidoc @@ -0,0 +1,92 @@ +[[opentelemetry]] +=== Using OpenTelemetry + +You can use https://opentelemetry.io/[OpenTelemetry] to monitor the performance and behavior of your {es} requests through the Ruby Client. +The Ruby Client comes with built-in OpenTelemetry instrumentation that emits https://www.elastic.co/guide/en/apm/guide/current/apm-distributed-tracing.html[distributed tracing spans] by default. +With that, applications https://opentelemetry.io/docs/instrumentation/ruby/manual/[instrumented with OpenTelemetry] or using the https://opentelemetry.io/docs/instrumentation/ruby/automatic/[OpenTelemetry Ruby SDK] are inherently enriched with additional spans that contain insightful information about the execution of the {es} requests. + +The native instrumentation in the Ruby Client follows the https://opentelemetry.io/docs/specs/semconv/database/elasticsearch/[OpenTelemetry Semantic Conventions for {es}]. In particular, the instrumentation in the client covers the logical layer of {es} requests. A single span per request is created that is processed by the service through the Ruby Client. The following image shows a trace that records the handling of two different {es} requests: a `ping` request and a `search` request. + +[role="screenshot"] +image::images/otel-waterfall-without-http.png[alt="Distributed trace with Elasticsearch spans",align="center"] + +Usually, OpenTelemetry auto-instrumentation modules come with instrumentation support for HTTP-level communication. In this case, in addition to the logical {es} client requests, spans will be captured for the physical HTTP requests emitted by the client. The following image shows a trace with both, {es} spans (in blue) and the corresponding HTTP-level spans (in red): + +[role="screenshot"] +image::images/otel-waterfall-with-http.png[alt="Distributed trace with Elasticsearch spans",align="center"] + +Advanced Ruby Client behavior such as nodes round-robin and request retries are revealed through the combination of logical {es} spans and the physical HTTP spans. The following example shows a `search` request in a scenario with two nodes: + +[role="screenshot"] +image::images/otel-waterfall-retry.png[alt="Distributed trace with Elasticsearch spans",align="center"] + +The first node is unavailable and results in an HTTP error, while the retry to the second node succeeds. Both HTTP requests are subsumed by the logical {es} request span (in blue). + +[discrete] +==== Setup the OpenTelemetry instrumentation + +When using the https://opentelemetry.io/docs/instrumentation/ruby/manual[OpenTelemetry Ruby SDK manually] or using the https://opentelemetry.io/docs/instrumentation/ruby/automatic/[OpenTelemetry Ruby Auto-Instrumentations], the Ruby Client's OpenTelemetry instrumentation is enabled by default and uses the global OpenTelemetry SDK with the global tracer provider. You can provide a tracer provider via the Ruby Client configuration option `opentelemetry_tracer_provider` when instantiating the client. This is sometimes useful for testing or other specific use cases. + +[source,ruby] +------------------------------------ +client = Elasticsearch::Client.new( + cloud_id: '', + api_key: '', + opentelemetry_tracer_provider: tracer_provider +) +------------------------------------ + +[discrete] +==== Configuring the OpenTelemetry instrumentation + +You can configure the OpenTelemetry instrumentation through Environment Variables. +The following configuration options are available. + +[discrete] +[[opentelemetry-config-enable]] +===== Enable / Disable the OpenTelemetry instrumentation + +With this configuration option you can enable (default) or disable the built-in OpenTelemetry instrumentation. + +**Default:** `true` + +|============ +| Environment Variable | `OTEL_RUBY_INSTRUMENTATION_ELASTICSEARCH_ENABLED` +|============ + +[discrete] +===== Capture search request bodies + +Per default, the built-in OpenTelemetry instrumentation does not capture request bodies due to data privacy considerations. You can use this option to enable capturing of search queries from the request bodies of {es} search requests in case you wish to gather this information regardless. The options are to capture the raw search query, sanitize the query with a default list of sensitive keys, or not capture it at all. + +**Default:** `omit` + +**Valid Options:** `omit`, `sanitize`, `raw` + +|============ +| Environment Variable | `OTEL_INSTRUMENTATION_ELASTICSEARCH_CAPTURE_SEARCH_QUERY` +|============ + +[discrete] +===== Sanitize the {es} search request body + +You can configure the list of keys whose values are redacted when the search query is captured. Values must be comma-separated. + +**Default:** `nil` + +|============ +| Environment Variable | `OTEL_RUBY_INSTRUMENTATION_ELASTICSEARCH_SEARCH_QUERY_SANITIZE_KEYS` +|============ + +Example: + +```bash +OTEL_RUBY_INSTRUMENTATION_ELASTICSEARCH_SEARCH_QUERY_SANITIZE_KEYS='sensitive-key,other-sensitive-key' +``` + +[discrete] +==== Overhead + +The OpenTelemetry instrumentation (as any other monitoring approach) may come with a slight overhead on CPU, memory, and/or latency. The overhead may only occur when the instrumentation is enabled (default) and an OpenTelemetry SDK is active in the target application. When the instrumentation is disabled or no OpenTelemetry SDK is active within the target application, monitoring overhead is not expected when using the client. + +Even in cases where the instrumentation is enabled and is actively used (by an OpenTelemetry SDK), the overhead is minimal and negligible in the vast majority of cases. In edge cases where there is a noticeable overhead, the <> to eliminate any potential impact on performance. \ No newline at end of file diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/async_search/delete.rb b/elasticsearch-api/lib/elasticsearch/api/actions/async_search/delete.rb index 2d48e84bcd..93ade79c06 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/async_search/delete.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/async_search/delete.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/async-search.html # def delete(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "async_search.delete" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone @@ -44,7 +52,7 @@ def delete(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/async_search/get.rb b/elasticsearch-api/lib/elasticsearch/api/actions/async_search/get.rb index 98e0940929..8bac99994c 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/async_search/get.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/async_search/get.rb @@ -33,6 +33,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/async-search.html # def get(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "async_search.get" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone @@ -47,7 +55,7 @@ def get(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/async_search/status.rb b/elasticsearch-api/lib/elasticsearch/api/actions/async_search/status.rb index 842771be0d..6080a251dd 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/async_search/status.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/async_search/status.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/async-search.html # def status(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "async_search.status" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone @@ -44,7 +52,7 @@ def status(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/async_search/submit.rb b/elasticsearch-api/lib/elasticsearch/api/actions/async_search/submit.rb index 6ef7381cf4..fd709ff80c 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/async_search/submit.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/async_search/submit.rb @@ -72,6 +72,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/async-search.html # def submit(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "async_search.submit" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -88,7 +96,7 @@ def submit(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/autoscaling/delete_autoscaling_policy.rb b/elasticsearch-api/lib/elasticsearch/api/actions/autoscaling/delete_autoscaling_policy.rb index 1f0960a0cf..899136eec9 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/autoscaling/delete_autoscaling_policy.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/autoscaling/delete_autoscaling_policy.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/autoscaling-delete-autoscaling-policy.html # def delete_autoscaling_policy(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "autoscaling.delete_autoscaling_policy" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] arguments = arguments.clone @@ -44,7 +52,7 @@ def delete_autoscaling_policy(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/autoscaling/get_autoscaling_capacity.rb b/elasticsearch-api/lib/elasticsearch/api/actions/autoscaling/get_autoscaling_capacity.rb index ed2d383bec..d1bf262f08 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/autoscaling/get_autoscaling_capacity.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/autoscaling/get_autoscaling_capacity.rb @@ -29,6 +29,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/autoscaling-get-autoscaling-capacity.html # def get_autoscaling_capacity(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "autoscaling.get_autoscaling_capacity" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -39,7 +41,7 @@ def get_autoscaling_capacity(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/autoscaling/get_autoscaling_policy.rb b/elasticsearch-api/lib/elasticsearch/api/actions/autoscaling/get_autoscaling_policy.rb index e4dfa1782d..a28add1530 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/autoscaling/get_autoscaling_policy.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/autoscaling/get_autoscaling_policy.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/autoscaling-get-autoscaling-policy.html # def get_autoscaling_policy(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "autoscaling.get_autoscaling_policy" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] arguments = arguments.clone @@ -44,7 +52,7 @@ def get_autoscaling_policy(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/autoscaling/put_autoscaling_policy.rb b/elasticsearch-api/lib/elasticsearch/api/actions/autoscaling/put_autoscaling_policy.rb index f13afffc89..916d7263b7 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/autoscaling/put_autoscaling_policy.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/autoscaling/put_autoscaling_policy.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/autoscaling-put-autoscaling-policy.html # def put_autoscaling_policy(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "autoscaling.put_autoscaling_policy" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] @@ -46,7 +54,7 @@ def put_autoscaling_policy(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/bulk.rb b/elasticsearch-api/lib/elasticsearch/api/actions/bulk.rb index bd4b706ba2..25c6802d42 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/bulk.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/bulk.rb @@ -41,6 +41,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html # def bulk(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "bulk" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -66,7 +74,7 @@ def bulk(arguments = {}) headers.merge!("Content-Type" => "application/x-ndjson") Elasticsearch::API::Response.new( - perform_request(method, path, params, payload, headers) + perform_request(method, path, params, payload, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cat/aliases.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cat/aliases.rb index 6aeba66637..829aad3b81 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cat/aliases.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cat/aliases.rb @@ -37,6 +37,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-alias.html # def aliases(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cat.aliases" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -54,7 +62,7 @@ def aliases(arguments = {}) params[:h] = Utils.__listify(params[:h]) if params[:h] Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cat/allocation.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cat/allocation.rb index ff7aba8654..7c4dbe5c26 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cat/allocation.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cat/allocation.rb @@ -38,6 +38,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-allocation.html # def allocation(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cat.allocation" } + + defined_params = [:node_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -55,7 +63,7 @@ def allocation(arguments = {}) params[:h] = Utils.__listify(params[:h]) if params[:h] Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cat/component_templates.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cat/component_templates.rb index 79c56e02d0..187b5f01cc 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cat/component_templates.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cat/component_templates.rb @@ -37,6 +37,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-component-templates.html # def component_templates(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cat.component_templates" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -53,7 +61,7 @@ def component_templates(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cat/count.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cat/count.rb index da96e79935..0e62564545 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cat/count.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cat/count.rb @@ -35,6 +35,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-count.html # def count(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cat.count" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -52,7 +60,7 @@ def count(arguments = {}) params[:h] = Utils.__listify(params[:h]) if params[:h] Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cat/fielddata.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cat/fielddata.rb index cedc5d89a8..18faca057b 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cat/fielddata.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cat/fielddata.rb @@ -36,6 +36,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-fielddata.html # def fielddata(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cat.fielddata" } + + defined_params = [:fields].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -52,7 +60,7 @@ def fielddata(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cat/health.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cat/health.rb index b85a478441..68b7d40d08 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cat/health.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cat/health.rb @@ -36,6 +36,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-health.html # def health(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cat.health" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -47,7 +49,7 @@ def health(arguments = {}) params[:h] = Utils.__listify(params[:h]) if params[:h] Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cat/help.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cat/help.rb index e8690abbab..cccb4a922e 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cat/help.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cat/help.rb @@ -31,6 +31,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cat.html # def help(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cat.help" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -41,7 +43,7 @@ def help(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cat/indices.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cat/indices.rb index 026de0e783..0b45b154ad 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cat/indices.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cat/indices.rb @@ -42,6 +42,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-indices.html # def indices(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cat.indices" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -59,7 +67,7 @@ def indices(arguments = {}) params[:h] = Utils.__listify(params[:h]) if params[:h] Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cat/master.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cat/master.rb index 92df41d96e..69f1252b95 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cat/master.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cat/master.rb @@ -36,6 +36,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-master.html # def master(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cat.master" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -46,7 +48,7 @@ def master(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cat/ml_data_frame_analytics.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cat/ml_data_frame_analytics.rb index dfaa649b2d..147f353447 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cat/ml_data_frame_analytics.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cat/ml_data_frame_analytics.rb @@ -38,6 +38,14 @@ module Actions # @see http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-dfanalytics.html # def ml_data_frame_analytics(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cat.ml_data_frame_analytics" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -54,7 +62,7 @@ def ml_data_frame_analytics(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cat/ml_datafeeds.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cat/ml_datafeeds.rb index c2170b7efd..32991053b3 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cat/ml_datafeeds.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cat/ml_datafeeds.rb @@ -37,6 +37,14 @@ module Actions # @see http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-datafeeds.html # def ml_datafeeds(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cat.ml_datafeeds" } + + defined_params = [:datafeed_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -53,7 +61,7 @@ def ml_datafeeds(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cat/ml_jobs.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cat/ml_jobs.rb index ceb6771691..bec650d66e 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cat/ml_jobs.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cat/ml_jobs.rb @@ -38,6 +38,14 @@ module Actions # @see http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-anomaly-detectors.html # def ml_jobs(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cat.ml_jobs" } + + defined_params = [:job_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -54,7 +62,7 @@ def ml_jobs(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cat/ml_trained_models.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cat/ml_trained_models.rb index fc206369cc..1479168a62 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cat/ml_trained_models.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cat/ml_trained_models.rb @@ -40,6 +40,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-trained-model.html # def ml_trained_models(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cat.ml_trained_models" } + + defined_params = [:model_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -56,7 +64,7 @@ def ml_trained_models(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cat/nodeattrs.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cat/nodeattrs.rb index dbf07acb05..0e493b2228 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cat/nodeattrs.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cat/nodeattrs.rb @@ -36,6 +36,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-nodeattrs.html # def nodeattrs(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cat.nodeattrs" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -46,7 +48,7 @@ def nodeattrs(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cat/nodes.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cat/nodes.rb index 47356741e8..6ce67f6edd 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cat/nodes.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cat/nodes.rb @@ -39,6 +39,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-nodes.html # def nodes(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cat.nodes" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -50,7 +52,7 @@ def nodes(arguments = {}) params[:h] = Utils.__listify(params[:h], escape: false) if params[:h] Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cat/pending_tasks.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cat/pending_tasks.rb index 1d3dba91b7..2edf46fd2a 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cat/pending_tasks.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cat/pending_tasks.rb @@ -37,6 +37,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-pending-tasks.html # def pending_tasks(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cat.pending_tasks" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -48,7 +50,7 @@ def pending_tasks(arguments = {}) params[:h] = Utils.__listify(params[:h]) if params[:h] Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cat/plugins.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cat/plugins.rb index 9dea6c0d31..c6a91a0115 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cat/plugins.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cat/plugins.rb @@ -37,6 +37,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-plugins.html # def plugins(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cat.plugins" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -47,7 +49,7 @@ def plugins(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cat/recovery.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cat/recovery.rb index 445924eb78..5068de4cf6 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cat/recovery.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cat/recovery.rb @@ -39,6 +39,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-recovery.html # def recovery(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cat.recovery" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -56,7 +64,7 @@ def recovery(arguments = {}) params[:h] = Utils.__listify(params[:h]) if params[:h] Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cat/repositories.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cat/repositories.rb index 1454d0b12c..c92ae9c43e 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cat/repositories.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cat/repositories.rb @@ -36,6 +36,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-repositories.html # def repositories(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cat.repositories" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -46,7 +48,7 @@ def repositories(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cat/segments.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cat/segments.rb index 3deb0db3f0..3a33d25bab 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cat/segments.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cat/segments.rb @@ -36,6 +36,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-segments.html # def segments(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cat.segments" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -52,7 +60,7 @@ def segments(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cat/shards.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cat/shards.rb index ccedb98ea7..a437c3aebb 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cat/shards.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cat/shards.rb @@ -38,6 +38,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-shards.html # def shards(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cat.shards" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -55,7 +63,7 @@ def shards(arguments = {}) params[:h] = Utils.__listify(params[:h]) if params[:h] Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cat/snapshots.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cat/snapshots.rb index 7f3e9f66d9..2bcd838cab 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cat/snapshots.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cat/snapshots.rb @@ -38,6 +38,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-snapshots.html # def snapshots(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cat.snapshots" } + + defined_params = [:repository].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -54,7 +62,7 @@ def snapshots(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cat/tasks.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cat/tasks.rb index a40f6429b6..00f392b26f 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cat/tasks.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cat/tasks.rb @@ -43,6 +43,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/tasks.html # def tasks(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cat.tasks" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -53,7 +55,7 @@ def tasks(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cat/templates.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cat/templates.rb index afc0e72390..5e869541a8 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cat/templates.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cat/templates.rb @@ -37,6 +37,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-templates.html # def templates(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cat.templates" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -53,7 +61,7 @@ def templates(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end 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 3407cc92c7..9d14aed0ef 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cat/thread_pool.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cat/thread_pool.rb @@ -39,6 +39,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-thread-pool.html # def thread_pool(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cat.thread_pool" } + + defined_params = [:thread_pool_patterns].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -56,7 +64,7 @@ def thread_pool(arguments = {}) params[:h] = Utils.__listify(params[:h]) if params[:h] Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cat/transforms.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cat/transforms.rb index 7414201f94..c22fd7201e 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cat/transforms.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cat/transforms.rb @@ -39,6 +39,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-transforms.html # def transforms(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cat.transforms" } + + defined_params = [:transform_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -55,7 +63,7 @@ def transforms(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/clear_scroll.rb b/elasticsearch-api/lib/elasticsearch/api/actions/clear_scroll.rb index d3e918a518..d7358ac2e0 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/clear_scroll.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/clear_scroll.rb @@ -35,6 +35,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/clear-scroll-api.html # def clear_scroll(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "clear_scroll" } + + defined_params = [:scroll_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -53,12 +61,12 @@ def clear_scroll(arguments = {}) if Array(arguments[:ignore]).include?(404) Utils.__rescue_from_not_found { Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) } else Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/close_point_in_time.rb b/elasticsearch-api/lib/elasticsearch/api/actions/close_point_in_time.rb index b82d581896..7f8351aa25 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/close_point_in_time.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/close_point_in_time.rb @@ -29,6 +29,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/point-in-time-api.html # def close_point_in_time(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "close_point_in_time" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -39,7 +41,7 @@ def close_point_in_time(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cluster/allocation_explain.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cluster/allocation_explain.rb index d554b92c91..aad51d651e 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cluster/allocation_explain.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cluster/allocation_explain.rb @@ -32,6 +32,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-allocation-explain.html # def allocation_explain(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cluster.allocation_explain" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -47,7 +49,7 @@ def allocation_explain(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cluster/delete_component_template.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cluster/delete_component_template.rb index caae9e6c07..7638592e21 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cluster/delete_component_template.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cluster/delete_component_template.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-component-template.html # def delete_component_template(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cluster.delete_component_template" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] arguments = arguments.clone @@ -46,7 +54,7 @@ def delete_component_template(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cluster/delete_voting_config_exclusions.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cluster/delete_voting_config_exclusions.rb index 33b279e300..ab01ebcd1d 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cluster/delete_voting_config_exclusions.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cluster/delete_voting_config_exclusions.rb @@ -31,6 +31,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/voting-config-exclusions.html # def delete_voting_config_exclusions(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cluster.delete_voting_config_exclusions" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -41,7 +43,7 @@ def delete_voting_config_exclusions(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cluster/exists_component_template.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cluster/exists_component_template.rb index 7e2289b508..262780561b 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cluster/exists_component_template.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cluster/exists_component_template.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-component-template.html # def exists_component_template(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cluster.exists_component_template" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] arguments = arguments.clone @@ -46,7 +54,7 @@ def exists_component_template(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end 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 11dab29e49..e2d3437353 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 @@ -33,6 +33,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-component-template.html # def get_component_template(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cluster.get_component_template" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -49,7 +57,7 @@ def get_component_template(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cluster/get_settings.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cluster/get_settings.rb index 02e72b246a..8db6e8d610 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cluster/get_settings.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cluster/get_settings.rb @@ -33,6 +33,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-get-settings.html # def get_settings(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cluster.get_settings" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -43,7 +45,7 @@ def get_settings(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cluster/health.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cluster/health.rb index 01e659b1c9..5d535d9b31 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cluster/health.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cluster/health.rb @@ -41,6 +41,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-health.html # def health(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cluster.health" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -57,7 +65,7 @@ def health(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cluster/info.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cluster/info.rb index a501535c15..6504417445 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cluster/info.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cluster/info.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-info.html # def info(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cluster.info" } + + defined_params = [:target].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'target' missing" unless arguments[:target] arguments = arguments.clone @@ -44,7 +52,7 @@ def info(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cluster/pending_tasks.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cluster/pending_tasks.rb index f8b556bc2b..062d825d9a 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cluster/pending_tasks.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cluster/pending_tasks.rb @@ -32,6 +32,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-pending.html # def pending_tasks(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cluster.pending_tasks" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -42,7 +44,7 @@ def pending_tasks(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cluster/post_voting_config_exclusions.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cluster/post_voting_config_exclusions.rb index 8901d8bc66..7c0f7e371c 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cluster/post_voting_config_exclusions.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cluster/post_voting_config_exclusions.rb @@ -33,6 +33,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/voting-config-exclusions.html # def post_voting_config_exclusions(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cluster.post_voting_config_exclusions" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -43,7 +45,7 @@ def post_voting_config_exclusions(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end 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 330de203fe..c156ad28e8 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 @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-component-template.html # def put_component_template(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cluster.put_component_template" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] @@ -49,7 +57,7 @@ def put_component_template(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cluster/put_settings.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cluster/put_settings.rb index aaec93ee7c..f7863a5209 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cluster/put_settings.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cluster/put_settings.rb @@ -33,6 +33,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html # def put_settings(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cluster.put_settings" } + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -45,7 +47,7 @@ def put_settings(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cluster/remote_info.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cluster/remote_info.rb index 1aadcdae48..7bada737f2 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cluster/remote_info.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cluster/remote_info.rb @@ -29,6 +29,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-remote-info.html # def remote_info(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cluster.remote_info" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -39,7 +41,7 @@ def remote_info(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cluster/reroute.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cluster/reroute.rb index 753ada1994..e2dc714d5e 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cluster/reroute.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cluster/reroute.rb @@ -36,6 +36,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-reroute.html # def reroute(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cluster.reroute" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -46,7 +48,7 @@ def reroute(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cluster/state.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cluster/state.rb index 56b0f07647..3c3f431fb9 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cluster/state.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cluster/state.rb @@ -39,6 +39,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-state.html # def state(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cluster.state" } + + defined_params = [:metric, :index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -59,7 +67,7 @@ def state(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cluster/stats.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cluster/stats.rb index abb3424046..aaa3a3b570 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cluster/stats.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cluster/stats.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-stats.html # def stats(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "cluster.stats" } + + defined_params = [:node_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -48,7 +56,7 @@ def stats(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/count.rb b/elasticsearch-api/lib/elasticsearch/api/actions/count.rb index 7c66173d03..535a050ceb 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/count.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/count.rb @@ -44,6 +44,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/search-count.html # def count(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "count" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -65,7 +73,7 @@ def count(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/create.rb b/elasticsearch-api/lib/elasticsearch/api/actions/create.rb index d4f3676fdb..43705a5771 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/create.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/create.rb @@ -40,6 +40,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html # def create(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "create" } + + defined_params = [:index, :id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + if arguments[:id] index arguments.update op_type: 'create' else diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/delete_auto_follow_pattern.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/delete_auto_follow_pattern.rb index 83fdb12e10..a639e7f5a8 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/delete_auto_follow_pattern.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/delete_auto_follow_pattern.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-delete-auto-follow-pattern.html # def delete_auto_follow_pattern(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ccr.delete_auto_follow_pattern" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] arguments = arguments.clone @@ -44,7 +52,7 @@ def delete_auto_follow_pattern(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/follow.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/follow.rb index 4f276f904d..fd438741c8 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/follow.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/follow.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-put-follow.html # def follow(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ccr.follow" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] @@ -47,7 +55,7 @@ def follow(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/follow_info.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/follow_info.rb index 8e79207d9e..967866ed84 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/follow_info.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/follow_info.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-get-follow-info.html # def follow_info(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ccr.follow_info" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] arguments = arguments.clone @@ -44,7 +52,7 @@ def follow_info(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/follow_stats.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/follow_stats.rb index 26fb2c8718..a8c488c062 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/follow_stats.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/follow_stats.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-get-follow-stats.html # def follow_stats(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ccr.follow_stats" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] arguments = arguments.clone @@ -44,7 +52,7 @@ def follow_stats(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/forget_follower.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/forget_follower.rb index 89f2853ff7..751a8c88c6 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/forget_follower.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/forget_follower.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-post-forget-follower.html # def forget_follower(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ccr.forget_follower" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] @@ -46,7 +54,7 @@ def forget_follower(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/get_auto_follow_pattern.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/get_auto_follow_pattern.rb index d6d2fb8b42..0927b259f0 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/get_auto_follow_pattern.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/get_auto_follow_pattern.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-get-auto-follow-pattern.html # def get_auto_follow_pattern(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ccr.get_auto_follow_pattern" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -46,7 +54,7 @@ def get_auto_follow_pattern(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/pause_auto_follow_pattern.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/pause_auto_follow_pattern.rb index 894c598491..51fc1a3b32 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/pause_auto_follow_pattern.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/pause_auto_follow_pattern.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-pause-auto-follow-pattern.html # def pause_auto_follow_pattern(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ccr.pause_auto_follow_pattern" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] arguments = arguments.clone @@ -44,7 +52,7 @@ def pause_auto_follow_pattern(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/pause_follow.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/pause_follow.rb index f4bbb1eb78..e4cd9cb64e 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/pause_follow.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/pause_follow.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-post-pause-follow.html # def pause_follow(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ccr.pause_follow" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] arguments = arguments.clone @@ -44,7 +52,7 @@ def pause_follow(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/put_auto_follow_pattern.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/put_auto_follow_pattern.rb index dfa3b58798..cde2834639 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/put_auto_follow_pattern.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/put_auto_follow_pattern.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-put-auto-follow-pattern.html # def put_auto_follow_pattern(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ccr.put_auto_follow_pattern" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] @@ -46,7 +54,7 @@ def put_auto_follow_pattern(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/resume_auto_follow_pattern.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/resume_auto_follow_pattern.rb index e6b32f55bc..a46cdab753 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/resume_auto_follow_pattern.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/resume_auto_follow_pattern.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-resume-auto-follow-pattern.html # def resume_auto_follow_pattern(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ccr.resume_auto_follow_pattern" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] arguments = arguments.clone @@ -44,7 +52,7 @@ def resume_auto_follow_pattern(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/resume_follow.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/resume_follow.rb index 82357e2a5d..db49d39b25 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/resume_follow.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/resume_follow.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-post-resume-follow.html # def resume_follow(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ccr.resume_follow" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] arguments = arguments.clone @@ -45,7 +53,7 @@ def resume_follow(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/stats.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/stats.rb index 10ebac4884..d7544df34a 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/stats.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/stats.rb @@ -29,6 +29,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-get-stats.html # def stats(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ccr.stats" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -39,7 +41,7 @@ def stats(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/unfollow.rb b/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/unfollow.rb index 9c411d82bc..907278b01c 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/unfollow.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/cross_cluster_replication/unfollow.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-post-unfollow.html # def unfollow(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ccr.unfollow" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] arguments = arguments.clone @@ -44,7 +52,7 @@ def unfollow(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/dangling_indices/delete_dangling_index.rb b/elasticsearch-api/lib/elasticsearch/api/actions/dangling_indices/delete_dangling_index.rb index 044a99de9f..9355e7885f 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/dangling_indices/delete_dangling_index.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/dangling_indices/delete_dangling_index.rb @@ -33,6 +33,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-gateway-dangling-indices.html # def delete_dangling_index(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "dangling_indices.delete_dangling_index" } + + defined_params = [:index_uuid].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index_uuid' missing" unless arguments[:index_uuid] arguments = arguments.clone @@ -47,7 +55,7 @@ def delete_dangling_index(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/dangling_indices/import_dangling_index.rb b/elasticsearch-api/lib/elasticsearch/api/actions/dangling_indices/import_dangling_index.rb index fb1c45a360..0cb29024a6 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/dangling_indices/import_dangling_index.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/dangling_indices/import_dangling_index.rb @@ -33,6 +33,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-gateway-dangling-indices.html # def import_dangling_index(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "dangling_indices.import_dangling_index" } + + defined_params = [:index_uuid].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index_uuid' missing" unless arguments[:index_uuid] arguments = arguments.clone @@ -47,7 +55,7 @@ def import_dangling_index(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/dangling_indices/list_dangling_indices.rb b/elasticsearch-api/lib/elasticsearch/api/actions/dangling_indices/list_dangling_indices.rb index 57a11e424a..9b46a92409 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/dangling_indices/list_dangling_indices.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/dangling_indices/list_dangling_indices.rb @@ -29,6 +29,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-gateway-dangling-indices.html # def list_dangling_indices(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "dangling_indices.list_dangling_indices" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -39,7 +41,7 @@ def list_dangling_indices(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/delete.rb b/elasticsearch-api/lib/elasticsearch/api/actions/delete.rb index 692ff9438d..9e84e25d55 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/delete.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/delete.rb @@ -38,6 +38,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-delete.html # def delete(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "delete" } + + defined_params = [:index, :id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] @@ -57,12 +65,12 @@ def delete(arguments = {}) if Array(arguments[:ignore]).include?(404) Utils.__rescue_from_not_found { Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) } else Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/delete_by_query.rb b/elasticsearch-api/lib/elasticsearch/api/actions/delete_by_query.rb index 00ab16999e..f587d54d86 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/delete_by_query.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/delete_by_query.rb @@ -59,6 +59,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-delete-by-query.html # def delete_by_query(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "delete_by_query" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] @@ -74,7 +82,7 @@ def delete_by_query(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/delete_by_query_rethrottle.rb b/elasticsearch-api/lib/elasticsearch/api/actions/delete_by_query_rethrottle.rb index e7a43cdd19..8148dee65f 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/delete_by_query_rethrottle.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/delete_by_query_rethrottle.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-delete-by-query.html # def delete_by_query_rethrottle(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "delete_by_query_rethrottle" } + + defined_params = [:task_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'task_id' missing" unless arguments[:task_id] arguments = arguments.clone @@ -44,7 +52,7 @@ def delete_by_query_rethrottle(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/delete_script.rb b/elasticsearch-api/lib/elasticsearch/api/actions/delete_script.rb index 0484619902..2e359f44c0 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/delete_script.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/delete_script.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-scripting.html # def delete_script(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "delete_script" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone @@ -45,7 +53,7 @@ def delete_script(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/enrich/delete_policy.rb b/elasticsearch-api/lib/elasticsearch/api/actions/enrich/delete_policy.rb index 8d2ea05fb5..50578f6177 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/enrich/delete_policy.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/enrich/delete_policy.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-enrich-policy-api.html # def delete_policy(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "enrich.delete_policy" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] arguments = arguments.clone @@ -44,7 +52,7 @@ def delete_policy(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/enrich/execute_policy.rb b/elasticsearch-api/lib/elasticsearch/api/actions/enrich/execute_policy.rb index b90e1f98b7..e0b7423018 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/enrich/execute_policy.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/enrich/execute_policy.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/execute-enrich-policy-api.html # def execute_policy(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "enrich.execute_policy" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] arguments = arguments.clone @@ -45,7 +53,7 @@ def execute_policy(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/enrich/get_policy.rb b/elasticsearch-api/lib/elasticsearch/api/actions/enrich/get_policy.rb index 273dda7de6..6589fde2bb 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/enrich/get_policy.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/enrich/get_policy.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/get-enrich-policy-api.html # def get_policy(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "enrich.get_policy" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -46,7 +54,7 @@ def get_policy(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/enrich/put_policy.rb b/elasticsearch-api/lib/elasticsearch/api/actions/enrich/put_policy.rb index 3ced98f637..fe6724d50d 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/enrich/put_policy.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/enrich/put_policy.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/put-enrich-policy-api.html # def put_policy(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "enrich.put_policy" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] @@ -46,7 +54,7 @@ def put_policy(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/enrich/stats.rb b/elasticsearch-api/lib/elasticsearch/api/actions/enrich/stats.rb index 22828fa7b4..6402becb84 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/enrich/stats.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/enrich/stats.rb @@ -29,6 +29,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/enrich-stats-api.html # def stats(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "enrich.stats" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -39,7 +41,7 @@ def stats(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/eql/delete.rb b/elasticsearch-api/lib/elasticsearch/api/actions/eql/delete.rb index f793fcc5e9..3b11e1a1ba 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/eql/delete.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/eql/delete.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/eql-search-api.html # def delete(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "eql.delete" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone @@ -44,7 +52,7 @@ def delete(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/eql/get.rb b/elasticsearch-api/lib/elasticsearch/api/actions/eql/get.rb index a13ff1ec19..87f4349841 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/eql/get.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/eql/get.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/eql-search-api.html # def get(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "eql.get" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone @@ -46,7 +54,7 @@ def get(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/eql/get_status.rb b/elasticsearch-api/lib/elasticsearch/api/actions/eql/get_status.rb index 14eff8b8a6..81cd4a00ad 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/eql/get_status.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/eql/get_status.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/eql-search-api.html # def get_status(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "eql.get_status" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone @@ -44,7 +52,7 @@ def get_status(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/eql/search.rb b/elasticsearch-api/lib/elasticsearch/api/actions/eql/search.rb index c4c34384d8..42597973e0 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/eql/search.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/eql/search.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/eql-search-api.html # def search(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "eql.search" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] @@ -49,7 +57,7 @@ def search(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/esql/query.rb b/elasticsearch-api/lib/elasticsearch/api/actions/esql/query.rb index 6b43681fa8..771a5d0e6b 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/esql/query.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/esql/query.rb @@ -36,6 +36,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/esql-query-api.html # def query(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "esql.query" } + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -48,7 +50,7 @@ def query(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/exists.rb b/elasticsearch-api/lib/elasticsearch/api/actions/exists.rb index 8978685183..90a52b083b 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/exists.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/exists.rb @@ -40,6 +40,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-get.html # def exists(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "exists" } + + defined_params = [:index, :id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] @@ -57,7 +65,7 @@ def exists(arguments = {}) params = Utils.process_params(arguments) Utils.__rescue_from_not_found do - perform_request(method, path, params, body, headers).status == 200 ? true : false + perform_request(method, path, params, body, headers, request_opts).status == 200 ? true : false end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/exists_source.rb b/elasticsearch-api/lib/elasticsearch/api/actions/exists_source.rb index bfd168146b..028e24597f 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/exists_source.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/exists_source.rb @@ -39,6 +39,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-get.html # def exists_source(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "exists_source" } + + defined_params = [:index, :id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] @@ -56,7 +64,7 @@ def exists_source(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/explain.rb b/elasticsearch-api/lib/elasticsearch/api/actions/explain.rb index 6509cad3ce..25ea610e94 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/explain.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/explain.rb @@ -43,6 +43,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/search-explain.html # def explain(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "explain" } + + defined_params = [:index, :id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] @@ -65,7 +73,7 @@ def explain(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/features/get_features.rb b/elasticsearch-api/lib/elasticsearch/api/actions/features/get_features.rb index 661c93ef45..6ab52782ed 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/features/get_features.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/features/get_features.rb @@ -30,6 +30,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/get-features-api.html # def get_features(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "features.get_features" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -40,7 +42,7 @@ def get_features(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/features/reset_features.rb b/elasticsearch-api/lib/elasticsearch/api/actions/features/reset_features.rb index 922eb32bf2..e60eb64d60 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/features/reset_features.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/features/reset_features.rb @@ -33,6 +33,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html # def reset_features(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "features.reset_features" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -43,7 +45,7 @@ def reset_features(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/field_caps.rb b/elasticsearch-api/lib/elasticsearch/api/actions/field_caps.rb index 7ecb73e4bd..671588f012 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/field_caps.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/field_caps.rb @@ -37,6 +37,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/search-field-caps.html # def field_caps(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "field_caps" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -58,7 +66,7 @@ def field_caps(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/fleet/delete_secret.rb b/elasticsearch-api/lib/elasticsearch/api/actions/fleet/delete_secret.rb index cb08f91f90..24efd95a85 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/fleet/delete_secret.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/fleet/delete_secret.rb @@ -34,6 +34,14 @@ module Actions # @see [TODO] # def delete_secret(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "fleet.delete_secret" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone @@ -48,7 +56,7 @@ def delete_secret(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/fleet/get_secret.rb b/elasticsearch-api/lib/elasticsearch/api/actions/fleet/get_secret.rb index dcbef0b0f5..b3fe39be0f 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/fleet/get_secret.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/fleet/get_secret.rb @@ -34,6 +34,14 @@ module Actions # @see [TODO] # def get_secret(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "fleet.get_secret" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone @@ -48,7 +56,7 @@ def get_secret(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/fleet/global_checkpoints.rb b/elasticsearch-api/lib/elasticsearch/api/actions/fleet/global_checkpoints.rb index 8130b9721c..4fd349e6c9 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/fleet/global_checkpoints.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/fleet/global_checkpoints.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/get-global-checkpoints.html # def global_checkpoints(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "fleet.global_checkpoints" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] arguments = arguments.clone @@ -48,7 +56,7 @@ def global_checkpoints(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/fleet/msearch.rb b/elasticsearch-api/lib/elasticsearch/api/actions/fleet/msearch.rb index 86fd9ac0ca..06c6eee577 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/fleet/msearch.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/fleet/msearch.rb @@ -35,6 +35,14 @@ module Actions # @see [TODO] # def msearch(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "fleet.msearch" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -76,7 +84,7 @@ def msearch(arguments = {}) headers.merge!("Content-Type" => "application/x-ndjson") Elasticsearch::API::Response.new( - perform_request(method, path, params, payload, headers) + perform_request(method, path, params, payload, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/fleet/post_secret.rb b/elasticsearch-api/lib/elasticsearch/api/actions/fleet/post_secret.rb index c40eba1ff7..ef3106bc31 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/fleet/post_secret.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/fleet/post_secret.rb @@ -34,6 +34,8 @@ module Actions # @see [TODO] # def post_secret(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "fleet.post_secret" } + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -46,7 +48,7 @@ def post_secret(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/fleet/search.rb b/elasticsearch-api/lib/elasticsearch/api/actions/fleet/search.rb index 4f260bc66b..04d483a423 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/fleet/search.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/fleet/search.rb @@ -38,6 +38,14 @@ module Actions # @see [TODO] # def search(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "fleet.search" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] arguments = arguments.clone @@ -57,7 +65,7 @@ def search(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/get.rb b/elasticsearch-api/lib/elasticsearch/api/actions/get.rb index fcf8c65e21..6c1dfd3a1d 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/get.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/get.rb @@ -41,6 +41,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-get.html # def get(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "get" } + + defined_params = [:index, :id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] @@ -60,12 +68,12 @@ def get(arguments = {}) if Array(arguments[:ignore]).include?(404) Utils.__rescue_from_not_found { Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) } else Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/get_script.rb b/elasticsearch-api/lib/elasticsearch/api/actions/get_script.rb index 871d9b0972..b78db8f9f1 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/get_script.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/get_script.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-scripting.html # def get_script(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "get_script" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone @@ -44,7 +52,7 @@ def get_script(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/get_script_context.rb b/elasticsearch-api/lib/elasticsearch/api/actions/get_script_context.rb index b76598d65e..b11e3ae4f9 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/get_script_context.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/get_script_context.rb @@ -28,6 +28,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-contexts.html # def get_script_context(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "get_script_context" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -38,7 +40,7 @@ def get_script_context(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/get_script_languages.rb b/elasticsearch-api/lib/elasticsearch/api/actions/get_script_languages.rb index 0a835aff70..e27b3804f3 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/get_script_languages.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/get_script_languages.rb @@ -28,6 +28,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-scripting.html # def get_script_languages(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "get_script_languages" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -38,7 +40,7 @@ def get_script_languages(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/get_source.rb b/elasticsearch-api/lib/elasticsearch/api/actions/get_source.rb index c2f645ca3f..05515f7d88 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/get_source.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/get_source.rb @@ -39,6 +39,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-get.html # def get_source(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "get_source" } + + defined_params = [:index, :id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] @@ -56,7 +64,7 @@ def get_source(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/graph/explore.rb b/elasticsearch-api/lib/elasticsearch/api/actions/graph/explore.rb index f9c8187e39..0c77dd803c 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/graph/explore.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/graph/explore.rb @@ -33,6 +33,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/graph-explore-api.html # def explore(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "graph.explore" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] arguments = arguments.clone @@ -52,7 +60,7 @@ def explore(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/health_report.rb b/elasticsearch-api/lib/elasticsearch/api/actions/health_report.rb index 48293f7b6d..82dec94607 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/health_report.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/health_report.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/health-api.html # def health_report(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "health_report" } + + defined_params = [:feature].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -48,7 +56,7 @@ def health_report(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/index.rb b/elasticsearch-api/lib/elasticsearch/api/actions/index.rb index f4a90f1416..46902ebfe8 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/index.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/index.rb @@ -42,6 +42,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html # def index(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "index" } + + defined_params = [:index, :id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] @@ -63,7 +71,7 @@ def index(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/delete_lifecycle.rb b/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/delete_lifecycle.rb index 2c2a8c89f3..f2e7ed0249 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/delete_lifecycle.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/delete_lifecycle.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-delete-lifecycle.html # def delete_lifecycle(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ilm.delete_lifecycle" } + + defined_params = [:policy].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'policy' missing" unless arguments[:policy] arguments = arguments.clone @@ -44,7 +52,7 @@ def delete_lifecycle(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/explain_lifecycle.rb b/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/explain_lifecycle.rb index e789cd2447..633efe06e2 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/explain_lifecycle.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/explain_lifecycle.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-explain-lifecycle.html # def explain_lifecycle(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ilm.explain_lifecycle" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] arguments = arguments.clone @@ -46,7 +54,7 @@ def explain_lifecycle(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/get_lifecycle.rb b/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/get_lifecycle.rb index cf2ba111cf..55a1f6fe2b 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/get_lifecycle.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/get_lifecycle.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-get-lifecycle.html # def get_lifecycle(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ilm.get_lifecycle" } + + defined_params = [:policy].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -46,7 +54,7 @@ def get_lifecycle(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/get_status.rb b/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/get_status.rb index 1d237cbde1..a11cbd711a 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/get_status.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/get_status.rb @@ -29,6 +29,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-get-status.html # def get_status(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ilm.get_status" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -39,7 +41,7 @@ def get_status(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/migrate_to_data_tiers.rb b/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/migrate_to_data_tiers.rb index 29b806142d..0bcc6dc36a 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/migrate_to_data_tiers.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/migrate_to_data_tiers.rb @@ -31,6 +31,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-migrate-to-data-tiers.html # def migrate_to_data_tiers(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ilm.migrate_to_data_tiers" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -41,7 +43,7 @@ def migrate_to_data_tiers(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/move_to_step.rb b/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/move_to_step.rb index 04e398b5d6..9d73641ae1 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/move_to_step.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/move_to_step.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-move-to-step.html # def move_to_step(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ilm.move_to_step" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] arguments = arguments.clone @@ -45,7 +53,7 @@ def move_to_step(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/put_lifecycle.rb b/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/put_lifecycle.rb index 89c3fc8adc..3eeb140997 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/put_lifecycle.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/put_lifecycle.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-put-lifecycle.html # def put_lifecycle(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ilm.put_lifecycle" } + + defined_params = [:policy].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'policy' missing" unless arguments[:policy] arguments = arguments.clone @@ -45,7 +53,7 @@ def put_lifecycle(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/remove_policy.rb b/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/remove_policy.rb index 3949503e61..0b1defd4d9 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/remove_policy.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/remove_policy.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-remove-policy.html # def remove_policy(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ilm.remove_policy" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] arguments = arguments.clone @@ -44,7 +52,7 @@ def remove_policy(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/retry.rb b/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/retry.rb index 5f307f3687..92bb6b6ab0 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/retry.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/retry.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-retry-policy.html # def retry(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ilm.retry" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] arguments = arguments.clone @@ -44,7 +52,7 @@ def retry(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/start.rb b/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/start.rb index 2db6b015b6..9c4ba85f90 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/start.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/start.rb @@ -29,6 +29,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-start.html # def start(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ilm.start" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -39,7 +41,7 @@ def start(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/stop.rb b/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/stop.rb index 994a8dea19..6d4ef5484d 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/stop.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/index_lifecycle_management/stop.rb @@ -29,6 +29,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-stop.html # def stop(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ilm.stop" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -39,7 +41,7 @@ def stop(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/add_block.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/add_block.rb index dbc424a3a4..94e1929a99 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/add_block.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/add_block.rb @@ -36,6 +36,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules-blocks.html # def add_block(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.add_block" } + + defined_params = [:index, :block].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + 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] @@ -53,7 +61,7 @@ def add_block(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/analyze.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/analyze.rb index d4a922ef32..fed860ea5f 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/analyze.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/analyze.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-analyze.html # def analyze(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.analyze" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -52,7 +60,7 @@ def analyze(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/clear_cache.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/clear_cache.rb index 6d1e5d4431..de956c6961 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/clear_cache.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/clear_cache.rb @@ -37,6 +37,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-clearcache.html # def clear_cache(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.clear_cache" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -53,7 +61,7 @@ def clear_cache(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/clone.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/clone.rb index d81382ac55..a36c64d4cd 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/clone.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/clone.rb @@ -35,6 +35,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-clone-index.html # def clone(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.clone" } + + defined_params = [:index, :target].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] raise ArgumentError, "Required argument 'target' missing" unless arguments[:target] @@ -52,7 +60,7 @@ def clone(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/close.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/close.rb index 98f72f6c66..cd351a1a58 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/close.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/close.rb @@ -36,6 +36,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-open-close.html # def close(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.close" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] arguments = arguments.clone @@ -50,7 +58,7 @@ def close(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/create.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/create.rb index 82f098841a..31efb53622 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/create.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/create.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-create-index.html # def create(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.create" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] arguments = arguments.clone @@ -48,7 +56,7 @@ def create(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/create_data_stream.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/create_data_stream.rb index 8a297a522b..7f2020c631 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/create_data_stream.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/create_data_stream.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/data-streams.html # def create_data_stream(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.create_data_stream" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] arguments = arguments.clone @@ -44,7 +52,7 @@ def create_data_stream(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/data_streams_stats.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/data_streams_stats.rb index c5089eca6c..e40df64d9b 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/data_streams_stats.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/data_streams_stats.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/data-streams.html # def data_streams_stats(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.data_streams_stats" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -46,7 +54,7 @@ def data_streams_stats(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/delete.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/delete.rb index cbfc13369e..5195919945 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/delete.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/delete.rb @@ -35,6 +35,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-delete-index.html # def delete(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.delete" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] arguments = arguments.clone @@ -51,12 +59,12 @@ def delete(arguments = {}) if Array(arguments[:ignore]).include?(404) Utils.__rescue_from_not_found { Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) } else Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/delete_alias.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/delete_alias.rb index 948c3512fd..1c27f92032 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/delete_alias.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/delete_alias.rb @@ -33,6 +33,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html # def delete_alias(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.delete_alias" } + + defined_params = [:index, :name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] @@ -52,7 +60,7 @@ def delete_alias(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/delete_data_lifecycle.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/delete_data_lifecycle.rb index 000327bafd..4be5e87247 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/delete_data_lifecycle.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/delete_data_lifecycle.rb @@ -33,6 +33,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/data-streams-delete-lifecycle.html # def delete_data_lifecycle(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.delete_data_lifecycle" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] arguments = arguments.clone @@ -47,7 +55,7 @@ def delete_data_lifecycle(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/delete_data_stream.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/delete_data_stream.rb index c46183e3a9..56d39a4881 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/delete_data_stream.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/delete_data_stream.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/data-streams.html # def delete_data_stream(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.delete_data_stream" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] arguments = arguments.clone @@ -45,7 +53,7 @@ def delete_data_stream(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/delete_index_template.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/delete_index_template.rb index 9f6072b96f..5397cf6759 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/delete_index_template.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/delete_index_template.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html # def delete_index_template(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.delete_index_template" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] arguments = arguments.clone @@ -46,7 +54,7 @@ def delete_index_template(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/delete_template.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/delete_template.rb index 608efd6d4f..fd7bcb2a6e 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/delete_template.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/delete_template.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html # def delete_template(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.delete_template" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] arguments = arguments.clone @@ -48,12 +56,12 @@ def delete_template(arguments = {}) if Array(arguments[:ignore]).include?(404) Utils.__rescue_from_not_found { Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) } else Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/disk_usage.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/disk_usage.rb index b93645a48c..4a86b132da 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/disk_usage.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/disk_usage.rb @@ -39,6 +39,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-disk-usage.html # def disk_usage(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.disk_usage" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] arguments = arguments.clone @@ -53,7 +61,7 @@ def disk_usage(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/downsample.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/downsample.rb index 687b99fd07..5bec9333a7 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/downsample.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/downsample.rb @@ -36,6 +36,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/xpack-rollup.html # def downsample(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.downsample" } + + defined_params = [:index, :target_index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] raise ArgumentError, "Required argument 'target_index' missing" unless arguments[:target_index] @@ -54,7 +62,7 @@ def downsample(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/exists.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/exists.rb index b244d86513..aab738b7e0 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/exists.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/exists.rb @@ -36,6 +36,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-exists.html # def exists(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.exists" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] arguments = arguments.clone @@ -50,7 +58,7 @@ def exists(arguments = {}) params = Utils.process_params(arguments) Utils.__rescue_from_not_found do - perform_request(method, path, params, body, headers).status == 200 ? true : false + perform_request(method, path, params, body, headers, request_opts).status == 200 ? true : false end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/exists_alias.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/exists_alias.rb index e52f4575e7..7e487c27b7 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/exists_alias.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/exists_alias.rb @@ -35,6 +35,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html # def exists_alias(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.exists_alias" } + + defined_params = [:name, :index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] arguments = arguments.clone @@ -55,7 +63,7 @@ def exists_alias(arguments = {}) params = Utils.process_params(arguments) Utils.__rescue_from_not_found do - perform_request(method, path, params, body, headers).status == 200 ? true : false + perform_request(method, path, params, body, headers, request_opts).status == 200 ? true : false end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/exists_index_template.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/exists_index_template.rb index 9f87f17404..768972b62c 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/exists_index_template.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/exists_index_template.rb @@ -33,6 +33,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html # def exists_index_template(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.exists_index_template" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] arguments = arguments.clone @@ -47,7 +55,7 @@ def exists_index_template(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/exists_template.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/exists_template.rb index d9fbb5c235..c3d6659653 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/exists_template.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/exists_template.rb @@ -33,6 +33,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html # def exists_template(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.exists_template" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] arguments = arguments.clone @@ -47,7 +55,7 @@ def exists_template(arguments = {}) params = Utils.process_params(arguments) Utils.__rescue_from_not_found do - perform_request(method, path, params, body, headers).status == 200 ? true : false + perform_request(method, path, params, body, headers, request_opts).status == 200 ? true : false end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/explain_data_lifecycle.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/explain_data_lifecycle.rb index 5e85f50dbc..f69ce9beed 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/explain_data_lifecycle.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/explain_data_lifecycle.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/data-streams-explain-lifecycle.html # def explain_data_lifecycle(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.explain_data_lifecycle" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] arguments = arguments.clone @@ -46,7 +54,7 @@ def explain_data_lifecycle(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/field_usage_stats.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/field_usage_stats.rb index 265b064caf..44a15fbfb7 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/field_usage_stats.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/field_usage_stats.rb @@ -38,6 +38,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/field-usage-stats.html # def field_usage_stats(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.field_usage_stats" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] arguments = arguments.clone @@ -52,7 +60,7 @@ def field_usage_stats(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/flush.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/flush.rb index 92c77705e0..e9e68d9bf8 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/flush.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/flush.rb @@ -35,6 +35,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-flush.html # def flush(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.flush" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -51,7 +59,7 @@ def flush(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/forcemerge.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/forcemerge.rb index 674d155040..7275f5e69e 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/forcemerge.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/forcemerge.rb @@ -37,6 +37,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-forcemerge.html # def forcemerge(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.forcemerge" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -53,7 +61,7 @@ def forcemerge(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/get.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/get.rb index b9abcde2d1..7dd7204641 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/get.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/get.rb @@ -38,6 +38,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-index.html # def get(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.get" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] arguments = arguments.clone @@ -52,7 +60,7 @@ def get(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/get_alias.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/get_alias.rb index 90a6b25cfc..661b276f85 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/get_alias.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/get_alias.rb @@ -35,6 +35,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html # def get_alias(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.get_alias" } + + defined_params = [:name, :index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -57,7 +65,7 @@ def get_alias(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/get_data_lifecycle.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/get_data_lifecycle.rb index af3de3de97..fe6f6f4d66 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/get_data_lifecycle.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/get_data_lifecycle.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/data-streams-get-lifecycle.html # def get_data_lifecycle(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.get_data_lifecycle" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] arguments = arguments.clone @@ -46,7 +54,7 @@ def get_data_lifecycle(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/get_data_stream.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/get_data_stream.rb index 6bf54b2e28..511d8dd2e3 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/get_data_stream.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/get_data_stream.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/data-streams.html # def get_data_stream(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.get_data_stream" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -48,7 +56,7 @@ def get_data_stream(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/get_field_mapping.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/get_field_mapping.rb index 6f67efdc66..8ce35dd267 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/get_field_mapping.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/get_field_mapping.rb @@ -36,6 +36,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-field-mapping.html # def get_field_mapping(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.get_field_mapping" } + + defined_params = [:fields, :index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone _fields = arguments.delete(:field) || arguments.delete(:fields) raise ArgumentError, "Required argument 'field' missing" unless _fields @@ -55,7 +63,7 @@ def get_field_mapping(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/get_index_template.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/get_index_template.rb index b5541104af..d155a2b3b9 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/get_index_template.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/get_index_template.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html # def get_index_template(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.get_index_template" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -50,7 +58,7 @@ def get_index_template(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/get_mapping.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/get_mapping.rb index 9ebf4590d0..12e121ea02 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/get_mapping.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/get_mapping.rb @@ -35,6 +35,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-mapping.html # def get_mapping(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.get_mapping" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -51,7 +59,7 @@ def get_mapping(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/get_settings.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/get_settings.rb index 2c8a123d94..80b80122bd 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/get_settings.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/get_settings.rb @@ -38,6 +38,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-settings.html # def get_settings(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.get_settings" } + + defined_params = [:index, :name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -60,7 +68,7 @@ def get_settings(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/get_template.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/get_template.rb index 1e2c4a76ce..e9b5ad3d70 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/get_template.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/get_template.rb @@ -33,6 +33,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html # def get_template(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.get_template" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -49,7 +57,7 @@ def get_template(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/migrate_to_data_stream.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/migrate_to_data_stream.rb index c6a4a4ba95..cc25b796e8 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/migrate_to_data_stream.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/migrate_to_data_stream.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/data-streams.html # def migrate_to_data_stream(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.migrate_to_data_stream" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] arguments = arguments.clone @@ -44,7 +52,7 @@ def migrate_to_data_stream(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/modify_data_stream.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/modify_data_stream.rb index 709b7e98ef..1b594a9f58 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/modify_data_stream.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/modify_data_stream.rb @@ -30,6 +30,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/data-streams.html # def modify_data_stream(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.modify_data_stream" } + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -42,7 +44,7 @@ def modify_data_stream(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/open.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/open.rb index fe9619cbfc..ad758723e1 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/open.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/open.rb @@ -36,6 +36,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-open-close.html # def open(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.open" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] arguments = arguments.clone @@ -50,7 +58,7 @@ def open(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/promote_data_stream.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/promote_data_stream.rb index c93174a286..afab1ebf7a 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/promote_data_stream.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/promote_data_stream.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/data-streams.html # def promote_data_stream(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.promote_data_stream" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] arguments = arguments.clone @@ -44,7 +52,7 @@ def promote_data_stream(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/put_alias.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/put_alias.rb index 135b6b5513..ded3ff1002 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/put_alias.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/put_alias.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html # def put_alias(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.put_alias" } + + defined_params = [:index, :name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] @@ -53,7 +61,7 @@ def put_alias(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/put_data_lifecycle.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/put_data_lifecycle.rb index b65a237553..3c637a4981 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/put_data_lifecycle.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/put_data_lifecycle.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/data-streams-put-lifecycle.html # def put_data_lifecycle(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.put_data_lifecycle" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] arguments = arguments.clone @@ -48,7 +56,7 @@ def put_data_lifecycle(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/put_index_template.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/put_index_template.rb index da71539e38..207e493a72 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/put_index_template.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/put_index_template.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html # def put_index_template(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.put_index_template" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] @@ -49,7 +57,7 @@ def put_index_template(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/put_mapping.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/put_mapping.rb index fdfb26aa63..1d38203329 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/put_mapping.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/put_mapping.rb @@ -37,6 +37,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-put-mapping.html # def put_mapping(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.put_mapping" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] @@ -52,7 +60,7 @@ def put_mapping(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/put_settings.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/put_settings.rb index a5a48e4b21..0d400faade 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/put_settings.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/put_settings.rb @@ -38,6 +38,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-update-settings.html # def put_settings(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.put_settings" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -56,7 +64,7 @@ def put_settings(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/put_template.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/put_template.rb index cc08adb55f..8f68106808 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/put_template.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/put_template.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html # def put_template(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.put_template" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] @@ -49,7 +57,7 @@ def put_template(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/recovery.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/recovery.rb index 9076c02224..157897569b 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/recovery.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/recovery.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-recovery.html # def recovery(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.recovery" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -48,7 +56,7 @@ def recovery(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/refresh.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/refresh.rb index aeb521327f..999e3de93c 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/refresh.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/refresh.rb @@ -33,6 +33,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-refresh.html # def refresh(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.refresh" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -49,7 +57,7 @@ def refresh(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/reload_search_analyzers.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/reload_search_analyzers.rb index 25b6f49645..df552335f7 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/reload_search_analyzers.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/reload_search_analyzers.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-reload-analyzers.html # def reload_search_analyzers(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.reload_search_analyzers" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] arguments = arguments.clone @@ -48,7 +56,7 @@ def reload_search_analyzers(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/resolve_index.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/resolve_index.rb index 71a0f80cd1..f68a9c866f 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/resolve_index.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/resolve_index.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-resolve-index-api.html # def resolve_index(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.resolve_index" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] arguments = arguments.clone @@ -45,7 +53,7 @@ def resolve_index(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/rollover.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/rollover.rb index aac93fbb27..74f77536eb 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/rollover.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/rollover.rb @@ -37,6 +37,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-rollover-index.html # def rollover(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.rollover" } + + defined_params = [:alias, :new_index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'alias' missing" unless arguments[:alias] arguments = arguments.clone @@ -57,7 +65,7 @@ def rollover(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/segments.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/segments.rb index 0f5505852c..cd627031ef 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/segments.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/segments.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-segments.html # def segments(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.segments" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -50,7 +58,7 @@ def segments(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/shard_stores.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/shard_stores.rb index 62f4848579..174b35bfcd 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/shard_stores.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/shard_stores.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-shards-stores.html # def shard_stores(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.shard_stores" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -50,7 +58,7 @@ def shard_stores(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/shrink.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/shrink.rb index 2fbb9c91a3..9f046786a7 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/shrink.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/shrink.rb @@ -35,6 +35,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-shrink-index.html # def shrink(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.shrink" } + + defined_params = [:index, :target].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] raise ArgumentError, "Required argument 'target' missing" unless arguments[:target] @@ -52,7 +60,7 @@ def shrink(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/simulate_index_template.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/simulate_index_template.rb index 60b1ff6373..7287f0828f 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/simulate_index_template.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/simulate_index_template.rb @@ -35,6 +35,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html # def simulate_index_template(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.simulate_index_template" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] arguments = arguments.clone @@ -49,7 +57,7 @@ def simulate_index_template(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/simulate_template.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/simulate_template.rb index c581f77ba0..a0abaa3085 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/simulate_template.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/simulate_template.rb @@ -35,6 +35,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html # def simulate_template(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.simulate_template" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -51,7 +59,7 @@ def simulate_template(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/split.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/split.rb index 1c6d3e3ff7..5084307c94 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/split.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/split.rb @@ -35,6 +35,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-split-index.html # def split(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.split" } + + defined_params = [:index, :target].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] raise ArgumentError, "Required argument 'target' missing" unless arguments[:target] @@ -52,7 +60,7 @@ def split(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/stats.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/stats.rb index 1c8c3387c8..e487bac32b 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/stats.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/stats.rb @@ -40,6 +40,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-stats.html # def stats(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.stats" } + + defined_params = [:metric, :index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -62,7 +70,7 @@ def stats(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/unfreeze.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/unfreeze.rb index def6fb41f1..1b9e340037 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/unfreeze.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/unfreeze.rb @@ -41,6 +41,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/unfreeze-index-api.html # def unfreeze(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.unfreeze" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] arguments = arguments.clone @@ -55,7 +63,7 @@ def unfreeze(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/update_aliases.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/update_aliases.rb index 2b7dba3775..07e3e8da40 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/update_aliases.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/update_aliases.rb @@ -32,6 +32,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html # def update_aliases(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.update_aliases" } + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -44,7 +46,7 @@ def update_aliases(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/indices/validate_query.rb b/elasticsearch-api/lib/elasticsearch/api/actions/indices/validate_query.rb index ce7eed2869..c82fd4d605 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/indices/validate_query.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/indices/validate_query.rb @@ -43,6 +43,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/search-validate.html # def validate_query(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "indices.validate_query" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -64,7 +72,7 @@ def validate_query(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/inference/delete_model.rb b/elasticsearch-api/lib/elasticsearch/api/actions/inference/delete_model.rb index cf8f87b53c..f861a3ca9c 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/inference/delete_model.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/inference/delete_model.rb @@ -35,6 +35,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/inference_delete_model.html # def delete_model(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "inference.delete_model" } + + defined_params = [:task_type, :model_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'task_type' missing" unless arguments[:task_type] raise ArgumentError, "Required argument 'model_id' missing" unless arguments[:model_id] @@ -52,7 +60,7 @@ def delete_model(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/inference/get_model.rb b/elasticsearch-api/lib/elasticsearch/api/actions/inference/get_model.rb index a0f613c525..48afb17671 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/inference/get_model.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/inference/get_model.rb @@ -35,6 +35,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/inference_get_model.html # def get_model(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "inference.get_model" } + + defined_params = [:task_type, :model_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'task_type' missing" unless arguments[:task_type] raise ArgumentError, "Required argument 'model_id' missing" unless arguments[:model_id] @@ -52,7 +60,7 @@ def get_model(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/inference/inference.rb b/elasticsearch-api/lib/elasticsearch/api/actions/inference/inference.rb index a6d2dd3b2d..99f6d14e8f 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/inference/inference.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/inference/inference.rb @@ -36,6 +36,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/inference.html # def inference(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "inference.inference" } + + defined_params = [:task_type, :model_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'task_type' missing" unless arguments[:task_type] raise ArgumentError, "Required argument 'model_id' missing" unless arguments[:model_id] @@ -53,7 +61,7 @@ def inference(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_model.rb b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_model.rb index 7cbc8c956a..0360716cdb 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_model.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/inference/put_model.rb @@ -36,6 +36,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/inference_put_model.html # def put_model(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "inference.put_model" } + + defined_params = [:task_type, :model_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'task_type' missing" unless arguments[:task_type] raise ArgumentError, "Required argument 'model_id' missing" unless arguments[:model_id] @@ -53,7 +61,7 @@ def put_model(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/info.rb b/elasticsearch-api/lib/elasticsearch/api/actions/info.rb index d199a17277..dd26a5b986 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/info.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/info.rb @@ -28,6 +28,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html # def info(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "info" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -38,7 +40,7 @@ def info(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/ingest/delete_pipeline.rb b/elasticsearch-api/lib/elasticsearch/api/actions/ingest/delete_pipeline.rb index 4c653ec284..681e4c798e 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/ingest/delete_pipeline.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/ingest/delete_pipeline.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-pipeline-api.html # def delete_pipeline(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ingest.delete_pipeline" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone @@ -46,7 +54,7 @@ def delete_pipeline(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/ingest/geo_ip_stats.rb b/elasticsearch-api/lib/elasticsearch/api/actions/ingest/geo_ip_stats.rb index 15ab98e64a..6b9d1e5b82 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/ingest/geo_ip_stats.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/ingest/geo_ip_stats.rb @@ -29,6 +29,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/geoip-stats-api.html # def geo_ip_stats(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ingest.geo_ip_stats" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -39,7 +41,7 @@ def geo_ip_stats(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/ingest/get_pipeline.rb b/elasticsearch-api/lib/elasticsearch/api/actions/ingest/get_pipeline.rb index 400c3ea593..fdaba2eee3 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/ingest/get_pipeline.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/ingest/get_pipeline.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/get-pipeline-api.html # def get_pipeline(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ingest.get_pipeline" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -48,7 +56,7 @@ def get_pipeline(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/ingest/processor_grok.rb b/elasticsearch-api/lib/elasticsearch/api/actions/ingest/processor_grok.rb index 9f893c10a0..bb8431e65f 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/ingest/processor_grok.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/ingest/processor_grok.rb @@ -29,6 +29,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/grok-processor.html#grok-processor-rest-get # def processor_grok(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ingest.processor_grok" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -39,7 +41,7 @@ def processor_grok(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/ingest/put_pipeline.rb b/elasticsearch-api/lib/elasticsearch/api/actions/ingest/put_pipeline.rb index db4628544b..1da84bfe2f 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/ingest/put_pipeline.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/ingest/put_pipeline.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/put-pipeline-api.html # def put_pipeline(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ingest.put_pipeline" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] @@ -49,7 +57,7 @@ def put_pipeline(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/ingest/simulate.rb b/elasticsearch-api/lib/elasticsearch/api/actions/ingest/simulate.rb index 21f26cc5d5..b711c8323a 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/ingest/simulate.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/ingest/simulate.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/simulate-pipeline-api.html # def simulate(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ingest.simulate" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -50,7 +58,7 @@ def simulate(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/knn_search.rb b/elasticsearch-api/lib/elasticsearch/api/actions/knn_search.rb index 83bd8ac9d9..bc8a00adef 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/knn_search.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/knn_search.rb @@ -35,6 +35,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/search-search.html # def knn_search(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "knn_search" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] arguments = arguments.clone @@ -54,7 +62,7 @@ def knn_search(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/license/delete.rb b/elasticsearch-api/lib/elasticsearch/api/actions/license/delete.rb index 47b5c5adae..495fb1c7b9 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/license/delete.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/license/delete.rb @@ -29,6 +29,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-license.html # def delete(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "license.delete" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -39,7 +41,7 @@ def delete(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/license/get.rb b/elasticsearch-api/lib/elasticsearch/api/actions/license/get.rb index aaff59578f..f0966f9936 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/license/get.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/license/get.rb @@ -31,6 +31,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/get-license.html # def get(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "license.get" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -41,7 +43,7 @@ def get(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/license/get_basic_status.rb b/elasticsearch-api/lib/elasticsearch/api/actions/license/get_basic_status.rb index ae1ee87210..b3ac307f76 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/license/get_basic_status.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/license/get_basic_status.rb @@ -29,6 +29,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/get-basic-status.html # def get_basic_status(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "license.get_basic_status" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -39,7 +41,7 @@ def get_basic_status(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/license/get_trial_status.rb b/elasticsearch-api/lib/elasticsearch/api/actions/license/get_trial_status.rb index 454e77cce8..752c936d11 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/license/get_trial_status.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/license/get_trial_status.rb @@ -29,6 +29,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/get-trial-status.html # def get_trial_status(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "license.get_trial_status" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -39,7 +41,7 @@ def get_trial_status(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/license/post.rb b/elasticsearch-api/lib/elasticsearch/api/actions/license/post.rb index 8c03da859f..e71d3628c1 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/license/post.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/license/post.rb @@ -31,6 +31,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/update-license.html # def post(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "license.post" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -41,7 +43,7 @@ def post(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/license/post_start_basic.rb b/elasticsearch-api/lib/elasticsearch/api/actions/license/post_start_basic.rb index b5b3ff59a5..b164b4c945 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/license/post_start_basic.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/license/post_start_basic.rb @@ -30,6 +30,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/start-basic.html # def post_start_basic(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "license.post_start_basic" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -40,7 +42,7 @@ def post_start_basic(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end 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 ae1713b178..ccb31989f1 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 @@ -31,6 +31,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/start-trial.html # def post_start_trial(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "license.post_start_trial" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -41,7 +43,7 @@ def post_start_trial(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/logstash/delete_pipeline.rb b/elasticsearch-api/lib/elasticsearch/api/actions/logstash/delete_pipeline.rb index 58ab034b24..a7d39e7323 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/logstash/delete_pipeline.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/logstash/delete_pipeline.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/logstash-api-delete-pipeline.html # def delete_pipeline(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "logstash.delete_pipeline" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone @@ -44,7 +52,7 @@ def delete_pipeline(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/logstash/get_pipeline.rb b/elasticsearch-api/lib/elasticsearch/api/actions/logstash/get_pipeline.rb index 356a05261d..39b6fffc76 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/logstash/get_pipeline.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/logstash/get_pipeline.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/logstash-api-get-pipeline.html # def get_pipeline(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "logstash.get_pipeline" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -46,7 +54,7 @@ def get_pipeline(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/logstash/put_pipeline.rb b/elasticsearch-api/lib/elasticsearch/api/actions/logstash/put_pipeline.rb index dd4d6d8b6b..4960eb8351 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/logstash/put_pipeline.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/logstash/put_pipeline.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/logstash-api-put-pipeline.html # def put_pipeline(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "logstash.put_pipeline" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] @@ -46,7 +54,7 @@ def put_pipeline(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/clear_trained_model_deployment_cache.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/clear_trained_model_deployment_cache.rb index 05e471a91e..314bc96487 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/clear_trained_model_deployment_cache.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/clear_trained_model_deployment_cache.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/clear-trained-model-deployment-cache.html # def clear_trained_model_deployment_cache(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.clear_trained_model_deployment_cache" } + + defined_params = [:model_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'model_id' missing" unless arguments[:model_id] arguments = arguments.clone @@ -44,7 +52,7 @@ def clear_trained_model_deployment_cache(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/close_job.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/close_job.rb index 18a2d043db..5987648572 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/close_job.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/close_job.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-close-job.html # def close_job(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.close_job" } + + defined_params = [:job_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'job_id' missing" unless arguments[:job_id] arguments = arguments.clone @@ -48,7 +56,7 @@ def close_job(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_calendar.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_calendar.rb index 7af6b3b13d..d3ec48a4fd 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_calendar.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_calendar.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-delete-calendar.html # def delete_calendar(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.delete_calendar" } + + defined_params = [:calendar_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'calendar_id' missing" unless arguments[:calendar_id] arguments = arguments.clone @@ -44,7 +52,7 @@ def delete_calendar(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_calendar_event.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_calendar_event.rb index 14b90a8406..61ba87a19f 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_calendar_event.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_calendar_event.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-delete-calendar-event.html # def delete_calendar_event(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.delete_calendar_event" } + + defined_params = [:calendar_id, :event_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'calendar_id' missing" unless arguments[:calendar_id] raise ArgumentError, "Required argument 'event_id' missing" unless arguments[:event_id] @@ -48,7 +56,7 @@ def delete_calendar_event(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_calendar_job.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_calendar_job.rb index 2869b2bd88..5a971fecab 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_calendar_job.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_calendar_job.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-delete-calendar-job.html # def delete_calendar_job(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.delete_calendar_job" } + + defined_params = [:calendar_id, :job_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'calendar_id' missing" unless arguments[:calendar_id] raise ArgumentError, "Required argument 'job_id' missing" unless arguments[:job_id] @@ -48,7 +56,7 @@ def delete_calendar_job(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_data_frame_analytics.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_data_frame_analytics.rb index 1529f7ad1a..31309c49df 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_data_frame_analytics.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_data_frame_analytics.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-dfanalytics.html # def delete_data_frame_analytics(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.delete_data_frame_analytics" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone @@ -46,7 +54,7 @@ def delete_data_frame_analytics(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_datafeed.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_datafeed.rb index d9b4a1e009..80c9a2fb14 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_datafeed.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_datafeed.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-delete-datafeed.html # def delete_datafeed(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.delete_datafeed" } + + defined_params = [:datafeed_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'datafeed_id' missing" unless arguments[:datafeed_id] arguments = arguments.clone @@ -45,7 +53,7 @@ def delete_datafeed(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_expired_data.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_expired_data.rb index 1dc2b2e0cd..583f896ad2 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_expired_data.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_expired_data.rb @@ -33,6 +33,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-delete-expired-data.html # def delete_expired_data(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.delete_expired_data" } + + defined_params = [:job_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -49,7 +57,7 @@ def delete_expired_data(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_filter.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_filter.rb index f5751b33a9..69d0e3b5de 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_filter.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_filter.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-delete-filter.html # def delete_filter(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.delete_filter" } + + defined_params = [:filter_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'filter_id' missing" unless arguments[:filter_id] arguments = arguments.clone @@ -44,7 +52,7 @@ def delete_filter(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_forecast.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_forecast.rb index 0ace7f717c..f85736576b 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_forecast.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_forecast.rb @@ -33,6 +33,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-delete-forecast.html # def delete_forecast(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.delete_forecast" } + + defined_params = [:job_id, :forecast_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'job_id' missing" unless arguments[:job_id] arguments = arguments.clone @@ -53,7 +61,7 @@ def delete_forecast(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_job.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_job.rb index 118dfc35fa..349bc2680d 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_job.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_job.rb @@ -33,6 +33,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-delete-job.html # def delete_job(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.delete_job" } + + defined_params = [:job_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'job_id' missing" unless arguments[:job_id] arguments = arguments.clone @@ -47,7 +55,7 @@ def delete_job(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_model_snapshot.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_model_snapshot.rb index 0596fd2728..3ae9962ea3 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_model_snapshot.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_model_snapshot.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-delete-snapshot.html # def delete_model_snapshot(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.delete_model_snapshot" } + + defined_params = [:job_id, :snapshot_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'job_id' missing" unless arguments[:job_id] raise ArgumentError, "Required argument 'snapshot_id' missing" unless arguments[:snapshot_id] @@ -48,7 +56,7 @@ def delete_model_snapshot(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_trained_model.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_trained_model.rb index 827a0e0a64..1e9965b573 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_trained_model.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_trained_model.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-trained-models.html # def delete_trained_model(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.delete_trained_model" } + + defined_params = [:model_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'model_id' missing" unless arguments[:model_id] arguments = arguments.clone @@ -46,7 +54,7 @@ def delete_trained_model(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_trained_model_alias.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_trained_model_alias.rb index 491d168962..437b8e959c 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_trained_model_alias.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/delete_trained_model_alias.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-trained-models-aliases.html # def delete_trained_model_alias(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.delete_trained_model_alias" } + + defined_params = [:model_id, :model_alias].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'model_id' missing" unless arguments[:model_id] raise ArgumentError, "Required argument 'model_alias' missing" unless arguments[:model_alias] @@ -48,7 +56,7 @@ def delete_trained_model_alias(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/estimate_model_memory.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/estimate_model_memory.rb index 2c351d13be..895c06383f 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/estimate_model_memory.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/estimate_model_memory.rb @@ -30,6 +30,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-apis.html # def estimate_model_memory(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.estimate_model_memory" } + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -42,7 +44,7 @@ def estimate_model_memory(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/evaluate_data_frame.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/evaluate_data_frame.rb index 380a3c62de..06435db983 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/evaluate_data_frame.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/evaluate_data_frame.rb @@ -30,6 +30,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/evaluate-dfanalytics.html # def evaluate_data_frame(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.evaluate_data_frame" } + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -42,7 +44,7 @@ def evaluate_data_frame(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/explain_data_frame_analytics.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/explain_data_frame_analytics.rb index 1e49f96a08..70375bc81b 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/explain_data_frame_analytics.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/explain_data_frame_analytics.rb @@ -31,6 +31,14 @@ module Actions # @see http://www.elastic.co/guide/en/elasticsearch/reference/current/explain-dfanalytics.html # def explain_data_frame_analytics(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.explain_data_frame_analytics" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -52,7 +60,7 @@ def explain_data_frame_analytics(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/flush_job.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/flush_job.rb index 81f4889724..939763bdd2 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/flush_job.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/flush_job.rb @@ -36,6 +36,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-flush-job.html # def flush_job(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.flush_job" } + + defined_params = [:job_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'job_id' missing" unless arguments[:job_id] arguments = arguments.clone @@ -50,7 +58,7 @@ def flush_job(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/forecast.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/forecast.rb index 7e91fd2b4a..59b13bca8f 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/forecast.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/forecast.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-forecast.html # def forecast(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.forecast" } + + defined_params = [:job_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'job_id' missing" unless arguments[:job_id] arguments = arguments.clone @@ -48,7 +56,7 @@ def forecast(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_buckets.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_buckets.rb index e5b9098019..7b2837477b 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_buckets.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_buckets.rb @@ -41,6 +41,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-bucket.html # def get_buckets(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.get_buckets" } + + defined_params = [:job_id, :timestamp].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'job_id' missing" unless arguments[:job_id] arguments = arguments.clone @@ -66,7 +74,7 @@ def get_buckets(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_calendar_events.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_calendar_events.rb index 56207de79d..6ba6fe2dbd 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_calendar_events.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_calendar_events.rb @@ -35,6 +35,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-calendar-event.html # def get_calendar_events(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.get_calendar_events" } + + defined_params = [:calendar_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'calendar_id' missing" unless arguments[:calendar_id] arguments = arguments.clone @@ -49,7 +57,7 @@ def get_calendar_events(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_calendars.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_calendars.rb index 8fee8aa989..2c34372306 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_calendars.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_calendars.rb @@ -33,6 +33,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-calendar.html # def get_calendars(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.get_calendars" } + + defined_params = [:calendar_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -54,7 +62,7 @@ def get_calendars(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_categories.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_categories.rb index 03091a80a7..93a67e38c0 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_categories.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_categories.rb @@ -35,6 +35,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-category.html # def get_categories(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.get_categories" } + + defined_params = [:job_id, :category_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'job_id' missing" unless arguments[:job_id] arguments = arguments.clone @@ -60,7 +68,7 @@ def get_categories(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_data_frame_analytics.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_data_frame_analytics.rb index ad2f81d8f1..9507f68871 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_data_frame_analytics.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_data_frame_analytics.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/get-dfanalytics.html # def get_data_frame_analytics(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.get_data_frame_analytics" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -50,7 +58,7 @@ def get_data_frame_analytics(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_data_frame_analytics_stats.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_data_frame_analytics_stats.rb index 8dc251dca6..6870432a04 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_data_frame_analytics_stats.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_data_frame_analytics_stats.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/get-dfanalytics-stats.html # def get_data_frame_analytics_stats(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.get_data_frame_analytics_stats" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -50,7 +58,7 @@ def get_data_frame_analytics_stats(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_datafeed_stats.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_datafeed_stats.rb index bd8bde1788..b3556516a9 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_datafeed_stats.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_datafeed_stats.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-datafeed-stats.html # def get_datafeed_stats(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.get_datafeed_stats" } + + defined_params = [:datafeed_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -47,7 +55,7 @@ def get_datafeed_stats(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_datafeeds.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_datafeeds.rb index 76cca4e56b..ef71e58d7b 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_datafeeds.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_datafeeds.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-datafeed.html # def get_datafeeds(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.get_datafeeds" } + + defined_params = [:datafeed_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -48,7 +56,7 @@ def get_datafeeds(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_filters.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_filters.rb index 81b6c1e7d1..cda9f94fc3 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_filters.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_filters.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-filter.html # def get_filters(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.get_filters" } + + defined_params = [:filter_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -48,7 +56,7 @@ def get_filters(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_influencers.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_influencers.rb index 4cbdd7adf8..4b540cba82 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_influencers.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_influencers.rb @@ -39,6 +39,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-influencer.html # def get_influencers(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.get_influencers" } + + defined_params = [:job_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'job_id' missing" unless arguments[:job_id] arguments = arguments.clone @@ -58,7 +66,7 @@ def get_influencers(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_job_stats.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_job_stats.rb index b8e22d38bd..4e607b22f6 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_job_stats.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_job_stats.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-job-stats.html # def get_job_stats(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.get_job_stats" } + + defined_params = [:job_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -47,7 +55,7 @@ def get_job_stats(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_jobs.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_jobs.rb index 0d2aebe1bb..b62efb1b30 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_jobs.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_jobs.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-job.html # def get_jobs(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.get_jobs" } + + defined_params = [:job_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -48,7 +56,7 @@ def get_jobs(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_memory_stats.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_memory_stats.rb index 84881b8492..9db2816dad 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_memory_stats.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_memory_stats.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/get-ml-memory.html # def get_memory_stats(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.get_memory_stats" } + + defined_params = [:node_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -48,7 +56,7 @@ def get_memory_stats(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_model_snapshot_upgrade_stats.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_model_snapshot_upgrade_stats.rb index a1378d96e0..b74c008eba 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_model_snapshot_upgrade_stats.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_model_snapshot_upgrade_stats.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-job-model-snapshot-upgrade-stats.html # def get_model_snapshot_upgrade_stats(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.get_model_snapshot_upgrade_stats" } + + defined_params = [:job_id, :snapshot_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'job_id' missing" unless arguments[:job_id] raise ArgumentError, "Required argument 'snapshot_id' missing" unless arguments[:snapshot_id] @@ -49,7 +57,7 @@ def get_model_snapshot_upgrade_stats(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_model_snapshots.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_model_snapshots.rb index 65371c057c..9b4aff01c5 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_model_snapshots.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_model_snapshots.rb @@ -38,6 +38,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-snapshot.html # def get_model_snapshots(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.get_model_snapshots" } + + defined_params = [:job_id, :snapshot_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'job_id' missing" unless arguments[:job_id] arguments = arguments.clone @@ -63,7 +71,7 @@ def get_model_snapshots(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_overall_buckets.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_overall_buckets.rb index 382a996d21..71501ff37c 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_overall_buckets.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_overall_buckets.rb @@ -38,6 +38,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-overall-buckets.html # def get_overall_buckets(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.get_overall_buckets" } + + defined_params = [:job_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'job_id' missing" unless arguments[:job_id] arguments = arguments.clone @@ -57,7 +65,7 @@ def get_overall_buckets(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_records.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_records.rb index 524cb79457..7bb28cdf47 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_records.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_records.rb @@ -39,6 +39,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-record.html # def get_records(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.get_records" } + + defined_params = [:job_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'job_id' missing" unless arguments[:job_id] arguments = arguments.clone @@ -58,7 +66,7 @@ def get_records(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_trained_models.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_trained_models.rb index 148ace8472..083d43793a 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_trained_models.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_trained_models.rb @@ -38,6 +38,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/get-trained-models.html # def get_trained_models(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.get_trained_models" } + + defined_params = [:model_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -54,7 +62,7 @@ def get_trained_models(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_trained_models_stats.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_trained_models_stats.rb index a34eb6f0d9..7ffd95ebfb 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_trained_models_stats.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/get_trained_models_stats.rb @@ -33,6 +33,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/get-trained-models-stats.html # def get_trained_models_stats(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.get_trained_models_stats" } + + defined_params = [:model_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -49,7 +57,7 @@ def get_trained_models_stats(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/infer_trained_model.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/infer_trained_model.rb index dce043ef99..9aa937960c 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/infer_trained_model.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/infer_trained_model.rb @@ -37,6 +37,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/infer-trained-model.html # def infer_trained_model(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.infer_trained_model" } + + defined_params = [:model_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'model_id' missing" unless arguments[:model_id] @@ -54,7 +62,7 @@ def infer_trained_model(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/info.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/info.rb index 45944ab36d..2988ee0c6f 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/info.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/info.rb @@ -29,6 +29,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/get-ml-info.html # def info(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.info" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -39,7 +41,7 @@ def info(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/open_job.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/open_job.rb index 4d3de91959..9e851c55e5 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/open_job.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/open_job.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-open-job.html # def open_job(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.open_job" } + + defined_params = [:job_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'job_id' missing" unless arguments[:job_id] arguments = arguments.clone @@ -45,7 +53,7 @@ def open_job(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/post_calendar_events.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/post_calendar_events.rb index f98a9274db..47b43c0d0e 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/post_calendar_events.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/post_calendar_events.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-post-calendar-event.html # def post_calendar_events(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.post_calendar_events" } + + defined_params = [:calendar_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'calendar_id' missing" unless arguments[:calendar_id] @@ -46,7 +54,7 @@ def post_calendar_events(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/post_data.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/post_data.rb index d860c6e6e1..0d44a0d0c4 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/post_data.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/post_data.rb @@ -33,6 +33,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-post-data.html # def post_data(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.post_data" } + + defined_params = [:job_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'job_id' missing" unless arguments[:job_id] @@ -48,7 +56,7 @@ def post_data(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/preview_data_frame_analytics.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/preview_data_frame_analytics.rb index 86fa509837..6b7d05fc3a 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/preview_data_frame_analytics.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/preview_data_frame_analytics.rb @@ -31,6 +31,14 @@ module Actions # @see http://www.elastic.co/guide/en/elasticsearch/reference/current/preview-dfanalytics.html # def preview_data_frame_analytics(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.preview_data_frame_analytics" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -52,7 +60,7 @@ def preview_data_frame_analytics(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/preview_datafeed.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/preview_datafeed.rb index 6a373e8e75..63476bd422 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/preview_datafeed.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/preview_datafeed.rb @@ -33,6 +33,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-preview-datafeed.html # def preview_datafeed(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.preview_datafeed" } + + defined_params = [:datafeed_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -54,7 +62,7 @@ def preview_datafeed(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_calendar.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_calendar.rb index 7459b0bd60..b50a34edbc 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_calendar.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_calendar.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-put-calendar.html # def put_calendar(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.put_calendar" } + + defined_params = [:calendar_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'calendar_id' missing" unless arguments[:calendar_id] arguments = arguments.clone @@ -45,7 +53,7 @@ def put_calendar(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_calendar_job.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_calendar_job.rb index beaf19c365..c9bc69fa7e 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_calendar_job.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_calendar_job.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-put-calendar-job.html # def put_calendar_job(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.put_calendar_job" } + + defined_params = [:calendar_id, :job_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'calendar_id' missing" unless arguments[:calendar_id] raise ArgumentError, "Required argument 'job_id' missing" unless arguments[:job_id] @@ -48,7 +56,7 @@ def put_calendar_job(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_data_frame_analytics.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_data_frame_analytics.rb index ba2b626c7c..4eb754abb9 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_data_frame_analytics.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_data_frame_analytics.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/put-dfanalytics.html # def put_data_frame_analytics(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.put_data_frame_analytics" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] @@ -46,7 +54,7 @@ def put_data_frame_analytics(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_datafeed.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_datafeed.rb index e8dea26e38..967f3c49ae 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_datafeed.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_datafeed.rb @@ -35,6 +35,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-put-datafeed.html # def put_datafeed(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.put_datafeed" } + + defined_params = [:datafeed_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'datafeed_id' missing" unless arguments[:datafeed_id] @@ -50,7 +58,7 @@ def put_datafeed(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_filter.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_filter.rb index 73cd594b0c..6d2dabfbb2 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_filter.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_filter.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-put-filter.html # def put_filter(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.put_filter" } + + defined_params = [:filter_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'filter_id' missing" unless arguments[:filter_id] @@ -46,7 +54,7 @@ def put_filter(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_job.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_job.rb index 6b4e85913a..e8b0c3f2a1 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_job.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_job.rb @@ -35,6 +35,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-put-job.html # def put_job(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.put_job" } + + defined_params = [:job_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'job_id' missing" unless arguments[:job_id] @@ -50,7 +58,7 @@ def put_job(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_trained_model.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_trained_model.rb index 61bd0d3eab..3ea00db8a6 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_trained_model.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_trained_model.rb @@ -33,6 +33,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/put-trained-models.html # def put_trained_model(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.put_trained_model" } + + defined_params = [:model_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'model_id' missing" unless arguments[:model_id] @@ -48,7 +56,7 @@ def put_trained_model(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_trained_model_alias.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_trained_model_alias.rb index 77503e79df..6cc4f48d74 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_trained_model_alias.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_trained_model_alias.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/put-trained-models-aliases.html # def put_trained_model_alias(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.put_trained_model_alias" } + + defined_params = [:model_id, :model_alias].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'model_id' missing" unless arguments[:model_id] raise ArgumentError, "Required argument 'model_alias' missing" unless arguments[:model_alias] @@ -49,7 +57,7 @@ def put_trained_model_alias(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_trained_model_definition_part.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_trained_model_definition_part.rb index 0dfc798631..38d26b78a5 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_trained_model_definition_part.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_trained_model_definition_part.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/put-trained-model-definition-part.html # def put_trained_model_definition_part(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.put_trained_model_definition_part" } + + defined_params = [:model_id, :part].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'model_id' missing" unless arguments[:model_id] raise ArgumentError, "Required argument 'part' missing" unless arguments[:part] @@ -50,7 +58,7 @@ def put_trained_model_definition_part(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_trained_model_vocabulary.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_trained_model_vocabulary.rb index f9d8566d3c..cd9d3545a9 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_trained_model_vocabulary.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/put_trained_model_vocabulary.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/put-trained-model-vocabulary.html # def put_trained_model_vocabulary(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.put_trained_model_vocabulary" } + + defined_params = [:model_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'model_id' missing" unless arguments[:model_id] @@ -46,7 +54,7 @@ def put_trained_model_vocabulary(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/reset_job.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/reset_job.rb index 2155227ad9..f07bcef8db 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/reset_job.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/reset_job.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-reset-job.html # def reset_job(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.reset_job" } + + defined_params = [:job_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'job_id' missing" unless arguments[:job_id] arguments = arguments.clone @@ -46,7 +54,7 @@ def reset_job(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/revert_model_snapshot.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/revert_model_snapshot.rb index 9dea6125aa..8081ea7094 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/revert_model_snapshot.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/revert_model_snapshot.rb @@ -33,6 +33,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-revert-snapshot.html # def revert_model_snapshot(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.revert_model_snapshot" } + + defined_params = [:job_id, :snapshot_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'job_id' missing" unless arguments[:job_id] raise ArgumentError, "Required argument 'snapshot_id' missing" unless arguments[:snapshot_id] @@ -50,7 +58,7 @@ def revert_model_snapshot(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/set_upgrade_mode.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/set_upgrade_mode.rb index 7e183cf4cb..a95855ff9a 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/set_upgrade_mode.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/set_upgrade_mode.rb @@ -31,6 +31,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-set-upgrade-mode.html # def set_upgrade_mode(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.set_upgrade_mode" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -41,7 +43,7 @@ def set_upgrade_mode(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/start_data_frame_analytics.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/start_data_frame_analytics.rb index ef225f1514..92a6bbd34b 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/start_data_frame_analytics.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/start_data_frame_analytics.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/start-dfanalytics.html # def start_data_frame_analytics(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.start_data_frame_analytics" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone @@ -46,7 +54,7 @@ def start_data_frame_analytics(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/start_datafeed.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/start_datafeed.rb index 625a297763..1187f6d2b9 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/start_datafeed.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/start_datafeed.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-start-datafeed.html # def start_datafeed(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.start_datafeed" } + + defined_params = [:datafeed_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'datafeed_id' missing" unless arguments[:datafeed_id] arguments = arguments.clone @@ -48,7 +56,7 @@ def start_datafeed(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/start_trained_model_deployment.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/start_trained_model_deployment.rb index 155e5e673b..956e913092 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/start_trained_model_deployment.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/start_trained_model_deployment.rb @@ -38,6 +38,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/start-trained-model-deployment.html # def start_trained_model_deployment(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.start_trained_model_deployment" } + + defined_params = [:model_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'model_id' missing" unless arguments[:model_id] arguments = arguments.clone @@ -52,7 +60,7 @@ def start_trained_model_deployment(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/stop_data_frame_analytics.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/stop_data_frame_analytics.rb index 805fc84dbe..14192254c4 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/stop_data_frame_analytics.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/stop_data_frame_analytics.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/stop-dfanalytics.html # def stop_data_frame_analytics(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.stop_data_frame_analytics" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone @@ -48,7 +56,7 @@ def stop_data_frame_analytics(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/stop_datafeed.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/stop_datafeed.rb index 8d908a4aaf..4bd4ef7a1e 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/stop_datafeed.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/stop_datafeed.rb @@ -35,6 +35,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-stop-datafeed.html # def stop_datafeed(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.stop_datafeed" } + + defined_params = [:datafeed_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'datafeed_id' missing" unless arguments[:datafeed_id] arguments = arguments.clone @@ -49,7 +57,7 @@ def stop_datafeed(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/stop_trained_model_deployment.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/stop_trained_model_deployment.rb index 44c21207f7..4b6024bb65 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/stop_trained_model_deployment.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/stop_trained_model_deployment.rb @@ -33,6 +33,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/stop-trained-model-deployment.html # def stop_trained_model_deployment(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.stop_trained_model_deployment" } + + defined_params = [:model_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'model_id' missing" unless arguments[:model_id] arguments = arguments.clone @@ -47,7 +55,7 @@ def stop_trained_model_deployment(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/update_data_frame_analytics.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/update_data_frame_analytics.rb index e938d30701..5e883d540d 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/update_data_frame_analytics.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/update_data_frame_analytics.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/update-dfanalytics.html # def update_data_frame_analytics(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.update_data_frame_analytics" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] @@ -46,7 +54,7 @@ def update_data_frame_analytics(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/update_datafeed.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/update_datafeed.rb index 1f1c1a8b30..792b8dade7 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/update_datafeed.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/update_datafeed.rb @@ -35,6 +35,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-update-datafeed.html # def update_datafeed(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.update_datafeed" } + + defined_params = [:datafeed_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'datafeed_id' missing" unless arguments[:datafeed_id] @@ -50,7 +58,7 @@ def update_datafeed(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/update_filter.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/update_filter.rb index 00ebc41e81..c98c6c65a1 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/update_filter.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/update_filter.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-update-filter.html # def update_filter(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.update_filter" } + + defined_params = [:filter_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'filter_id' missing" unless arguments[:filter_id] @@ -46,7 +54,7 @@ def update_filter(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/update_job.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/update_job.rb index 0692dfd7eb..d8ea774ca0 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/update_job.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/update_job.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-update-job.html # def update_job(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.update_job" } + + defined_params = [:job_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'job_id' missing" unless arguments[:job_id] @@ -46,7 +54,7 @@ def update_job(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/update_model_snapshot.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/update_model_snapshot.rb index 7cdf14a574..8dec4ccb72 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/update_model_snapshot.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/update_model_snapshot.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-update-snapshot.html # def update_model_snapshot(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.update_model_snapshot" } + + defined_params = [:job_id, :snapshot_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'job_id' missing" unless arguments[:job_id] raise ArgumentError, "Required argument 'snapshot_id' missing" unless arguments[:snapshot_id] @@ -50,7 +58,7 @@ def update_model_snapshot(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/update_trained_model_deployment.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/update_trained_model_deployment.rb index 1b592c79f5..25878d7de7 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/update_trained_model_deployment.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/update_trained_model_deployment.rb @@ -35,6 +35,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/update-trained-model-deployment.html # def update_trained_model_deployment(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.update_trained_model_deployment" } + + defined_params = [:model_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'model_id' missing" unless arguments[:model_id] @@ -50,7 +58,7 @@ def update_trained_model_deployment(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/upgrade_job_snapshot.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/upgrade_job_snapshot.rb index 9042b13be7..3ab0ae2582 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/upgrade_job_snapshot.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/upgrade_job_snapshot.rb @@ -33,6 +33,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-upgrade-job-model-snapshot.html # def upgrade_job_snapshot(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.upgrade_job_snapshot" } + + defined_params = [:job_id, :snapshot_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'job_id' missing" unless arguments[:job_id] raise ArgumentError, "Required argument 'snapshot_id' missing" unless arguments[:snapshot_id] @@ -50,7 +58,7 @@ def upgrade_job_snapshot(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/validate.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/validate.rb index 7982cc8a9f..6f1fc68595 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/validate.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/validate.rb @@ -30,6 +30,8 @@ module Actions # @see https://www.elastic.co/guide/en/machine-learning/current/ml-jobs.html # def validate(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.validate" } + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -42,7 +44,7 @@ def validate(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/validate_detector.rb b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/validate_detector.rb index 8a577a7ae9..fd99c712bb 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/validate_detector.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/machine_learning/validate_detector.rb @@ -30,6 +30,8 @@ module Actions # @see https://www.elastic.co/guide/en/machine-learning/current/ml-jobs.html # def validate_detector(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ml.validate_detector" } + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -42,7 +44,7 @@ def validate_detector(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/mget.rb b/elasticsearch-api/lib/elasticsearch/api/actions/mget.rb index 64611bbb83..c9076967b3 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/mget.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/mget.rb @@ -39,6 +39,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-multi-get.html # def mget(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "mget" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -57,7 +65,7 @@ def mget(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/migration/deprecations.rb b/elasticsearch-api/lib/elasticsearch/api/actions/migration/deprecations.rb index 7b29369a02..45f90274d5 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/migration/deprecations.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/migration/deprecations.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/migration-api-deprecation.html # def deprecations(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "migration.deprecations" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -46,7 +54,7 @@ def deprecations(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/migration/get_feature_upgrade_status.rb b/elasticsearch-api/lib/elasticsearch/api/actions/migration/get_feature_upgrade_status.rb index 0b3bbfa799..165a7d2f33 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/migration/get_feature_upgrade_status.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/migration/get_feature_upgrade_status.rb @@ -29,6 +29,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/migration-api-feature-upgrade.html # def get_feature_upgrade_status(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "migration.get_feature_upgrade_status" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -39,7 +41,7 @@ def get_feature_upgrade_status(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/migration/post_feature_upgrade.rb b/elasticsearch-api/lib/elasticsearch/api/actions/migration/post_feature_upgrade.rb index 7e81fe6a48..08766c3cb2 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/migration/post_feature_upgrade.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/migration/post_feature_upgrade.rb @@ -29,6 +29,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/migration-api-feature-upgrade.html # def post_feature_upgrade(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "migration.post_feature_upgrade" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -39,7 +41,7 @@ def post_feature_upgrade(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/monitoring/bulk.rb b/elasticsearch-api/lib/elasticsearch/api/actions/monitoring/bulk.rb index 5b3eab461c..1dd391bc7e 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/monitoring/bulk.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/monitoring/bulk.rb @@ -40,6 +40,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/monitor-elasticsearch-cluster.html # def bulk(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "monitoring.bulk" } + + defined_params = [:type].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -65,7 +73,7 @@ def bulk(arguments = {}) headers.merge!("Content-Type" => "application/x-ndjson") Elasticsearch::API::Response.new( - perform_request(method, path, params, payload, headers) + perform_request(method, path, params, payload, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/msearch.rb b/elasticsearch-api/lib/elasticsearch/api/actions/msearch.rb index 7ee4ed4aa0..7922036d28 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/msearch.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/msearch.rb @@ -37,6 +37,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/search-multi-search.html # def msearch(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "msearch" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -78,7 +86,7 @@ def msearch(arguments = {}) headers.merge!("Content-Type" => "application/x-ndjson") Elasticsearch::API::Response.new( - perform_request(method, path, params, payload, headers) + perform_request(method, path, params, payload, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/msearch_template.rb b/elasticsearch-api/lib/elasticsearch/api/actions/msearch_template.rb index f4e4457771..a341972c7a 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/msearch_template.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/msearch_template.rb @@ -35,6 +35,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/search-multi-search.html # def msearch_template(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "msearch_template" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -64,7 +72,7 @@ def msearch_template(arguments = {}) headers.merge!("Content-Type" => "application/x-ndjson") Elasticsearch::API::Response.new( - perform_request(method, path, params, payload, headers) + perform_request(method, path, params, payload, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/mtermvectors.rb b/elasticsearch-api/lib/elasticsearch/api/actions/mtermvectors.rb index 968cf42a93..69a42f269e 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/mtermvectors.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/mtermvectors.rb @@ -42,6 +42,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-multi-termvectors.html # def mtermvectors(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "mtermvectors" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -67,7 +75,7 @@ def mtermvectors(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/nodes/clear_repositories_metering_archive.rb b/elasticsearch-api/lib/elasticsearch/api/actions/nodes/clear_repositories_metering_archive.rb index 6e2856820d..21c94a185d 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/nodes/clear_repositories_metering_archive.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/nodes/clear_repositories_metering_archive.rb @@ -35,6 +35,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/clear-repositories-metering-archive-api.html # def clear_repositories_metering_archive(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "nodes.clear_repositories_metering_archive" } + + defined_params = [:node_id, :max_archive_version].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'node_id' missing" unless arguments[:node_id] raise ArgumentError, @@ -54,7 +62,7 @@ def clear_repositories_metering_archive(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/nodes/get_repositories_metering_info.rb b/elasticsearch-api/lib/elasticsearch/api/actions/nodes/get_repositories_metering_info.rb index 9dfb0d96a1..1d5c846fed 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/nodes/get_repositories_metering_info.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/nodes/get_repositories_metering_info.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/get-repositories-metering-api.html # def get_repositories_metering_info(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "nodes.get_repositories_metering_info" } + + defined_params = [:node_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'node_id' missing" unless arguments[:node_id] arguments = arguments.clone @@ -48,7 +56,7 @@ def get_repositories_metering_info(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/nodes/hot_threads.rb b/elasticsearch-api/lib/elasticsearch/api/actions/nodes/hot_threads.rb index a6a51ffde1..6755bb1b67 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/nodes/hot_threads.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/nodes/hot_threads.rb @@ -37,6 +37,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-hot-threads.html # def hot_threads(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "nodes.hot_threads" } + + defined_params = [:node_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -53,7 +61,7 @@ def hot_threads(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/nodes/info.rb b/elasticsearch-api/lib/elasticsearch/api/actions/nodes/info.rb index 63a10d6a99..03e1d34bc3 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/nodes/info.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/nodes/info.rb @@ -33,6 +33,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-info.html # def info(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "nodes.info" } + + defined_params = [:node_id, :metric].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -55,7 +63,7 @@ def info(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/nodes/reload_secure_settings.rb b/elasticsearch-api/lib/elasticsearch/api/actions/nodes/reload_secure_settings.rb index 3370c927c9..3dbc232e0a 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/nodes/reload_secure_settings.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/nodes/reload_secure_settings.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/secure-settings.html#reloadable-secure-settings # def reload_secure_settings(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "nodes.reload_secure_settings" } + + defined_params = [:node_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -48,7 +56,7 @@ def reload_secure_settings(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/nodes/stats.rb b/elasticsearch-api/lib/elasticsearch/api/actions/nodes/stats.rb index 706b73eb2d..924f0cbd29 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/nodes/stats.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/nodes/stats.rb @@ -41,6 +41,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-stats.html # def stats(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "nodes.stats" } + + defined_params = [:node_id, :metric, :index_metric].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -69,7 +77,7 @@ def stats(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/nodes/usage.rb b/elasticsearch-api/lib/elasticsearch/api/actions/nodes/usage.rb index 4b54a7fbe2..05d29c9052 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/nodes/usage.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/nodes/usage.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-usage.html # def usage(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "nodes.usage" } + + defined_params = [:node_id, :metric].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -54,7 +62,7 @@ def usage(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/open_point_in_time.rb b/elasticsearch-api/lib/elasticsearch/api/actions/open_point_in_time.rb index 82d6ecd10f..f903756a95 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/open_point_in_time.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/open_point_in_time.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/point-in-time-api.html # def open_point_in_time(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "open_point_in_time" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] arguments = arguments.clone @@ -48,7 +56,7 @@ def open_point_in_time(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/ping.rb b/elasticsearch-api/lib/elasticsearch/api/actions/ping.rb index d8ed048ff1..5f62c14bb3 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/ping.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/ping.rb @@ -28,6 +28,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html # def ping(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ping" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -38,7 +40,7 @@ def ping(arguments = {}) params = {} begin - perform_request(method, path, params, body, headers).status == 200 ? true : false + perform_request(method, path, params, body, headers, request_opts).status == 200 ? true : false rescue Exception => e if e.class.to_s =~ /NotFound|ConnectionFailed/ || e.message =~ /Not *Found|404|ConnectionFailed/i false diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/put_script.rb b/elasticsearch-api/lib/elasticsearch/api/actions/put_script.rb index d2d33c424a..8f55cf16db 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/put_script.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/put_script.rb @@ -33,6 +33,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-scripting.html # def put_script(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "put_script" } + + defined_params = [:id, :context].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] @@ -54,7 +62,7 @@ def put_script(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/query_ruleset/delete.rb b/elasticsearch-api/lib/elasticsearch/api/actions/query_ruleset/delete.rb index 0558c5fac5..d89ce3cf90 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/query_ruleset/delete.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/query_ruleset/delete.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-query-ruleset.html # def delete(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "query_ruleset.delete" } + + defined_params = [:ruleset_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'ruleset_id' missing" unless arguments[:ruleset_id] arguments = arguments.clone @@ -48,7 +56,7 @@ def delete(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/query_ruleset/get.rb b/elasticsearch-api/lib/elasticsearch/api/actions/query_ruleset/get.rb index c6d3fe2e72..fea65f17c5 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/query_ruleset/get.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/query_ruleset/get.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/get-query-ruleset.html # def get(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "query_ruleset.get" } + + defined_params = [:ruleset_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'ruleset_id' missing" unless arguments[:ruleset_id] arguments = arguments.clone @@ -48,7 +56,7 @@ def get(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/query_ruleset/list.rb b/elasticsearch-api/lib/elasticsearch/api/actions/query_ruleset/list.rb index 06c425809b..e552975586 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/query_ruleset/list.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/query_ruleset/list.rb @@ -35,6 +35,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/list-query-rulesets.html # def list(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "query_ruleset.list" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -45,7 +47,7 @@ def list(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/query_ruleset/put.rb b/elasticsearch-api/lib/elasticsearch/api/actions/query_ruleset/put.rb index ec6ef648d2..75bda0f38c 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/query_ruleset/put.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/query_ruleset/put.rb @@ -35,6 +35,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/put-query-ruleset.html # def put(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "query_ruleset.put" } + + defined_params = [:ruleset_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'ruleset_id' missing" unless arguments[:ruleset_id] @@ -50,7 +58,7 @@ def put(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/rank_eval.rb b/elasticsearch-api/lib/elasticsearch/api/actions/rank_eval.rb index bf4a92afdb..2ce15dade8 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/rank_eval.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/rank_eval.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/search-rank-eval.html # def rank_eval(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "rank_eval" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -52,7 +60,7 @@ def rank_eval(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/reindex.rb b/elasticsearch-api/lib/elasticsearch/api/actions/reindex.rb index 72d44efb4f..d3d1e10244 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/reindex.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/reindex.rb @@ -39,6 +39,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-reindex.html # def reindex(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "reindex" } + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -51,7 +53,7 @@ def reindex(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/reindex_rethrottle.rb b/elasticsearch-api/lib/elasticsearch/api/actions/reindex_rethrottle.rb index aa6f493642..3686472394 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/reindex_rethrottle.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/reindex_rethrottle.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-reindex.html # def reindex_rethrottle(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "reindex_rethrottle" } + + defined_params = [:task_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'task_id' missing" unless arguments[:task_id] arguments = arguments.clone @@ -44,7 +52,7 @@ def reindex_rethrottle(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/render_search_template.rb b/elasticsearch-api/lib/elasticsearch/api/actions/render_search_template.rb index 7b7f3e2e30..26ff15d9d9 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/render_search_template.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/render_search_template.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/render-search-template-api.html # def render_search_template(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "render_search_template" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -51,7 +59,7 @@ def render_search_template(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/rollup/delete_job.rb b/elasticsearch-api/lib/elasticsearch/api/actions/rollup/delete_job.rb index df5481d092..4ba53ada9c 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/rollup/delete_job.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/rollup/delete_job.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/rollup-delete-job.html # def delete_job(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "rollup.delete_job" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone @@ -48,7 +56,7 @@ def delete_job(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/rollup/get_jobs.rb b/elasticsearch-api/lib/elasticsearch/api/actions/rollup/get_jobs.rb index f07d6bc358..ca5e9f4d57 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/rollup/get_jobs.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/rollup/get_jobs.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/rollup-get-job.html # def get_jobs(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "rollup.get_jobs" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -50,7 +58,7 @@ def get_jobs(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/rollup/get_rollup_caps.rb b/elasticsearch-api/lib/elasticsearch/api/actions/rollup/get_rollup_caps.rb index 3047e45a2e..201e95b897 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/rollup/get_rollup_caps.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/rollup/get_rollup_caps.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/rollup-get-rollup-caps.html # def get_rollup_caps(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "rollup.get_rollup_caps" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -50,7 +58,7 @@ def get_rollup_caps(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/rollup/get_rollup_index_caps.rb b/elasticsearch-api/lib/elasticsearch/api/actions/rollup/get_rollup_index_caps.rb index c1e5264a7d..e404838673 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/rollup/get_rollup_index_caps.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/rollup/get_rollup_index_caps.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/rollup-get-rollup-index-caps.html # def get_rollup_index_caps(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "rollup.get_rollup_index_caps" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] arguments = arguments.clone @@ -48,7 +56,7 @@ def get_rollup_index_caps(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/rollup/put_job.rb b/elasticsearch-api/lib/elasticsearch/api/actions/rollup/put_job.rb index fdb9616f4b..db75a21541 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/rollup/put_job.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/rollup/put_job.rb @@ -35,6 +35,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/rollup-put-job.html # def put_job(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "rollup.put_job" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] @@ -50,7 +58,7 @@ def put_job(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/rollup/rollup_search.rb b/elasticsearch-api/lib/elasticsearch/api/actions/rollup/rollup_search.rb index 832db0da11..3589c2a597 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/rollup/rollup_search.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/rollup/rollup_search.rb @@ -37,6 +37,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/rollup-search.html # def rollup_search(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "rollup.rollup_search" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] @@ -52,7 +60,7 @@ def rollup_search(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/rollup/start_job.rb b/elasticsearch-api/lib/elasticsearch/api/actions/rollup/start_job.rb index 768b461fb4..22e81b2ba1 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/rollup/start_job.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/rollup/start_job.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/rollup-start-job.html # def start_job(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "rollup.start_job" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone @@ -48,7 +56,7 @@ def start_job(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/rollup/stop_job.rb b/elasticsearch-api/lib/elasticsearch/api/actions/rollup/stop_job.rb index bad3231161..6c0b1d89ef 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/rollup/stop_job.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/rollup/stop_job.rb @@ -36,6 +36,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/rollup-stop-job.html # def stop_job(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "rollup.stop_job" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone @@ -50,7 +58,7 @@ def stop_job(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/scripts_painless_execute.rb b/elasticsearch-api/lib/elasticsearch/api/actions/scripts_painless_execute.rb index 07e39dcb8f..6fdef5a87e 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/scripts_painless_execute.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/scripts_painless_execute.rb @@ -33,6 +33,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-execute-api.html # def scripts_painless_execute(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "scripts_painless_execute" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -48,7 +50,7 @@ def scripts_painless_execute(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/scroll.rb b/elasticsearch-api/lib/elasticsearch/api/actions/scroll.rb index c3b4bf52b4..5c21fc763c 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/scroll.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/scroll.rb @@ -37,6 +37,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-body.html#request-body-search-scroll # def scroll(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "scroll" } + + defined_params = [:scroll_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -58,7 +66,7 @@ def scroll(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/search.rb b/elasticsearch-api/lib/elasticsearch/api/actions/search.rb index d278fcb4a4..9a11ea7cd3 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/search.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/search.rb @@ -75,6 +75,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/search-search.html # def search(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "search" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -96,7 +104,7 @@ def search(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/search_application/delete.rb b/elasticsearch-api/lib/elasticsearch/api/actions/search_application/delete.rb index ac9ff6b3fa..af7907c674 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/search_application/delete.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/search_application/delete.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-search-application.html # def delete(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "search_application.delete" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] arguments = arguments.clone @@ -48,7 +56,7 @@ def delete(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/search_application/delete_behavioral_analytics.rb b/elasticsearch-api/lib/elasticsearch/api/actions/search_application/delete_behavioral_analytics.rb index 5565e636ec..6c28810474 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/search_application/delete_behavioral_analytics.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/search_application/delete_behavioral_analytics.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-analytics-collection.html # def delete_behavioral_analytics(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "search_application.delete_behavioral_analytics" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] arguments = arguments.clone @@ -48,7 +56,7 @@ def delete_behavioral_analytics(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/search_application/get.rb b/elasticsearch-api/lib/elasticsearch/api/actions/search_application/get.rb index 328f3f0dc4..36524d4bdc 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/search_application/get.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/search_application/get.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/get-search-application.html # def get(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "search_application.get" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] arguments = arguments.clone @@ -48,7 +56,7 @@ def get(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/search_application/get_behavioral_analytics.rb b/elasticsearch-api/lib/elasticsearch/api/actions/search_application/get_behavioral_analytics.rb index 3b916a6d87..718fb8a860 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/search_application/get_behavioral_analytics.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/search_application/get_behavioral_analytics.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/list-analytics-collection.html # def get_behavioral_analytics(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "search_application.get_behavioral_analytics" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -50,7 +58,7 @@ def get_behavioral_analytics(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/search_application/list.rb b/elasticsearch-api/lib/elasticsearch/api/actions/search_application/list.rb index 8f97e322f7..0ba111f144 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/search_application/list.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/search_application/list.rb @@ -36,6 +36,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/list-search-applications.html # def list(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "search_application.list" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -46,7 +48,7 @@ def list(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/search_application/post_behavioral_analytics_event.rb b/elasticsearch-api/lib/elasticsearch/api/actions/search_application/post_behavioral_analytics_event.rb index ee71ab3785..30cafd6534 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/search_application/post_behavioral_analytics_event.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/search_application/post_behavioral_analytics_event.rb @@ -37,6 +37,14 @@ module Actions # @see http://todo.com/tbd # def post_behavioral_analytics_event(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "search_application.post_behavioral_analytics_event" } + + defined_params = [:collection_name, :event_type].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'collection_name' missing" unless arguments[:collection_name] raise ArgumentError, "Required argument 'event_type' missing" unless arguments[:event_type] @@ -55,7 +63,7 @@ def post_behavioral_analytics_event(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/search_application/put.rb b/elasticsearch-api/lib/elasticsearch/api/actions/search_application/put.rb index 9a3f7e566e..85a587a130 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/search_application/put.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/search_application/put.rb @@ -36,6 +36,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/put-search-application.html # def put(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "search_application.put" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] @@ -51,7 +59,7 @@ def put(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/search_application/put_behavioral_analytics.rb b/elasticsearch-api/lib/elasticsearch/api/actions/search_application/put_behavioral_analytics.rb index 5551f9b9ab..47cab7053c 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/search_application/put_behavioral_analytics.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/search_application/put_behavioral_analytics.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/put-analytics-collection.html # def put_behavioral_analytics(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "search_application.put_behavioral_analytics" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] arguments = arguments.clone @@ -48,7 +56,7 @@ def put_behavioral_analytics(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/search_application/render_query.rb b/elasticsearch-api/lib/elasticsearch/api/actions/search_application/render_query.rb index 91f27e67f8..b5632ad4b5 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/search_application/render_query.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/search_application/render_query.rb @@ -35,6 +35,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/search-application-render-query.html # def render_query(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "search_application.render_query" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] arguments = arguments.clone @@ -49,7 +57,7 @@ def render_query(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/search_application/search.rb b/elasticsearch-api/lib/elasticsearch/api/actions/search_application/search.rb index 0a9c36381f..33cfa788ba 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/search_application/search.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/search_application/search.rb @@ -35,6 +35,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/search-application-search.html # def search(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "search_application.search" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] arguments = arguments.clone @@ -54,7 +62,7 @@ def search(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/search_mvt.rb b/elasticsearch-api/lib/elasticsearch/api/actions/search_mvt.rb index a19695770b..f92b796d46 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/search_mvt.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/search_mvt.rb @@ -45,6 +45,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/search-vector-tile-api.html # def search_mvt(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "search_mvt" } + + defined_params = [:index, :field, :zoom, :x, :y].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] raise ArgumentError, "Required argument 'field' missing" unless arguments[:field] raise ArgumentError, "Required argument 'zoom' missing" unless arguments[:zoom] @@ -71,7 +79,7 @@ def search_mvt(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/search_shards.rb b/elasticsearch-api/lib/elasticsearch/api/actions/search_shards.rb index 8b03109690..1bcdfacff7 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/search_shards.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/search_shards.rb @@ -35,6 +35,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/search-shards.html # def search_shards(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "search_shards" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -51,7 +59,7 @@ def search_shards(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/search_template.rb b/elasticsearch-api/lib/elasticsearch/api/actions/search_template.rb index c3a2dd7ece..2e435da6c0 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/search_template.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/search_template.rb @@ -43,6 +43,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/search-template.html # def search_template(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "search_template" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -61,7 +69,7 @@ def search_template(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/searchable_snapshots/cache_stats.rb b/elasticsearch-api/lib/elasticsearch/api/actions/searchable_snapshots/cache_stats.rb index 7c194bdc0a..66e25f74e2 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/searchable_snapshots/cache_stats.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/searchable_snapshots/cache_stats.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/searchable-snapshots-apis.html # def cache_stats(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "searchable_snapshots.cache_stats" } + + defined_params = [:node_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -50,7 +58,7 @@ def cache_stats(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/searchable_snapshots/clear_cache.rb b/elasticsearch-api/lib/elasticsearch/api/actions/searchable_snapshots/clear_cache.rb index 63e42e7cbd..1f2f944b7d 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/searchable_snapshots/clear_cache.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/searchable_snapshots/clear_cache.rb @@ -37,6 +37,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/searchable-snapshots-apis.html # def clear_cache(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "searchable_snapshots.clear_cache" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -53,7 +61,7 @@ def clear_cache(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/searchable_snapshots/mount.rb b/elasticsearch-api/lib/elasticsearch/api/actions/searchable_snapshots/mount.rb index 08f1b0e198..5a3cd48741 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/searchable_snapshots/mount.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/searchable_snapshots/mount.rb @@ -35,6 +35,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/searchable-snapshots-api-mount-snapshot.html # def mount(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "searchable_snapshots.mount" } + + defined_params = [:repository, :snapshot].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository] raise ArgumentError, "Required argument 'snapshot' missing" unless arguments[:snapshot] @@ -53,7 +61,7 @@ def mount(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/searchable_snapshots/stats.rb b/elasticsearch-api/lib/elasticsearch/api/actions/searchable_snapshots/stats.rb index 0a214885f4..b0eda79745 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/searchable_snapshots/stats.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/searchable_snapshots/stats.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/searchable-snapshots-apis.html # def stats(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "searchable_snapshots.stats" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -47,7 +55,7 @@ def stats(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/activate_user_profile.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/activate_user_profile.rb index de2b478aca..042f04d939 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/activate_user_profile.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/activate_user_profile.rb @@ -30,6 +30,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-activate-user-profile.html # def activate_user_profile(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.activate_user_profile" } + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -42,7 +44,7 @@ def activate_user_profile(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/authenticate.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/authenticate.rb index eed4a29a5e..c220700bc5 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/authenticate.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/authenticate.rb @@ -29,6 +29,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-authenticate.html # def authenticate(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.authenticate" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -39,7 +41,7 @@ def authenticate(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/bulk_update_api_keys.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/bulk_update_api_keys.rb index 5b0f12419b..c285a8d7f4 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/bulk_update_api_keys.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/bulk_update_api_keys.rb @@ -30,6 +30,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-bulk-update-api-keys.html # def bulk_update_api_keys(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.bulk_update_api_keys" } + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -42,7 +44,7 @@ def bulk_update_api_keys(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/change_password.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/change_password.rb index 239a8f38e6..989a7ac0e0 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/change_password.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/change_password.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-change-password.html # def change_password(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.change_password" } + + defined_params = [:username].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -50,7 +58,7 @@ def change_password(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/clear_api_key_cache.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/clear_api_key_cache.rb index aba6705fbf..b6ed47e3b0 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/clear_api_key_cache.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/clear_api_key_cache.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-clear-api-key-cache.html # def clear_api_key_cache(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.clear_api_key_cache" } + + defined_params = [:ids].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'ids' missing" unless arguments[:ids] arguments = arguments.clone @@ -44,7 +52,7 @@ def clear_api_key_cache(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/clear_cached_privileges.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/clear_cached_privileges.rb index abd6699fae..ee2d4132b7 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/clear_cached_privileges.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/clear_cached_privileges.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-clear-privilege-cache.html # def clear_cached_privileges(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.clear_cached_privileges" } + + defined_params = [:application].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'application' missing" unless arguments[:application] arguments = arguments.clone @@ -44,7 +52,7 @@ def clear_cached_privileges(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/clear_cached_realms.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/clear_cached_realms.rb index 4e039ebea5..ef22a86a66 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/clear_cached_realms.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/clear_cached_realms.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-clear-cache.html # def clear_cached_realms(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.clear_cached_realms" } + + defined_params = [:realms].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'realms' missing" unless arguments[:realms] arguments = arguments.clone @@ -45,7 +53,7 @@ def clear_cached_realms(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/clear_cached_roles.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/clear_cached_roles.rb index 5b8cf1b848..ec47a610a7 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/clear_cached_roles.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/clear_cached_roles.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-clear-role-cache.html # def clear_cached_roles(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.clear_cached_roles" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] arguments = arguments.clone @@ -44,7 +52,7 @@ def clear_cached_roles(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/clear_cached_service_tokens.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/clear_cached_service_tokens.rb index 6ca1f72b4a..908af0205f 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/clear_cached_service_tokens.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/clear_cached_service_tokens.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-clear-service-token-caches.html # def clear_cached_service_tokens(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.clear_cached_service_tokens" } + + defined_params = [:namespace, :service, :name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'namespace' missing" unless arguments[:namespace] raise ArgumentError, "Required argument 'service' missing" unless arguments[:service] raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] @@ -52,7 +60,7 @@ def clear_cached_service_tokens(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/create_api_key.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/create_api_key.rb index 5d0fc93ddb..94c1d3f1bd 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/create_api_key.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/create_api_key.rb @@ -31,6 +31,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-api-key.html # def create_api_key(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.create_api_key" } + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -43,7 +45,7 @@ def create_api_key(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/create_cross_cluster_api_key.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/create_cross_cluster_api_key.rb index ef1f442980..f951ab3d38 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/create_cross_cluster_api_key.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/create_cross_cluster_api_key.rb @@ -34,6 +34,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-cross-cluster-api-key.html # def create_cross_cluster_api_key(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.create_cross_cluster_api_key" } + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -46,7 +48,7 @@ def create_cross_cluster_api_key(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/create_service_token.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/create_service_token.rb index 42bc6d73fa..b6bc6db240 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/create_service_token.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/create_service_token.rb @@ -33,6 +33,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-service-token.html # def create_service_token(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.create_service_token" } + + defined_params = [:namespace, :service, :name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'namespace' missing" unless arguments[:namespace] raise ArgumentError, "Required argument 'service' missing" unless arguments[:service] @@ -56,7 +64,7 @@ def create_service_token(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/delete_privileges.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/delete_privileges.rb index d25c5b95e3..f589a1f6a8 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/delete_privileges.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/delete_privileges.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-delete-privilege.html # def delete_privileges(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.delete_privileges" } + + defined_params = [:application, :name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'application' missing" unless arguments[:application] raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] @@ -49,7 +57,7 @@ def delete_privileges(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/delete_role.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/delete_role.rb index d4902cf9e9..8da0c68a5e 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/delete_role.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/delete_role.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-delete-role.html # def delete_role(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.delete_role" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] arguments = arguments.clone @@ -45,7 +53,7 @@ def delete_role(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/delete_role_mapping.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/delete_role_mapping.rb index 2cc199f560..d6f9aa3d84 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/delete_role_mapping.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/delete_role_mapping.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-delete-role-mapping.html # def delete_role_mapping(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.delete_role_mapping" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] arguments = arguments.clone @@ -45,7 +53,7 @@ def delete_role_mapping(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/delete_service_token.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/delete_service_token.rb index eb89dfc7d9..6825b5ecab 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/delete_service_token.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/delete_service_token.rb @@ -33,6 +33,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-delete-service-token.html # def delete_service_token(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.delete_service_token" } + + defined_params = [:namespace, :service, :name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'namespace' missing" unless arguments[:namespace] raise ArgumentError, "Required argument 'service' missing" unless arguments[:service] raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] @@ -53,7 +61,7 @@ def delete_service_token(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/delete_user.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/delete_user.rb index 1729c6ffd1..c031bf9571 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/delete_user.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/delete_user.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-delete-user.html # def delete_user(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.delete_user" } + + defined_params = [:username].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'username' missing" unless arguments[:username] arguments = arguments.clone @@ -45,7 +53,7 @@ def delete_user(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/disable_user.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/disable_user.rb index 1d756e2048..58f4da420c 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/disable_user.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/disable_user.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-disable-user.html # def disable_user(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.disable_user" } + + defined_params = [:username].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'username' missing" unless arguments[:username] arguments = arguments.clone @@ -45,7 +53,7 @@ def disable_user(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/disable_user_profile.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/disable_user_profile.rb index b5228f47dc..abd0b86ec9 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/disable_user_profile.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/disable_user_profile.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-disable-user-profile.html # def disable_user_profile(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.disable_user_profile" } + + defined_params = [:uid].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'uid' missing" unless arguments[:uid] arguments = arguments.clone @@ -45,7 +53,7 @@ def disable_user_profile(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/enable_user.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/enable_user.rb index 926b295fa0..6cf13e3eab 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/enable_user.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/enable_user.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-enable-user.html # def enable_user(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.enable_user" } + + defined_params = [:username].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'username' missing" unless arguments[:username] arguments = arguments.clone @@ -45,7 +53,7 @@ def enable_user(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/enable_user_profile.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/enable_user_profile.rb index 42c61217d9..fa3ea55eaf 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/enable_user_profile.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/enable_user_profile.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-enable-user-profile.html # def enable_user_profile(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.enable_user_profile" } + + defined_params = [:uid].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'uid' missing" unless arguments[:uid] arguments = arguments.clone @@ -45,7 +53,7 @@ def enable_user_profile(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/enroll_kibana.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/enroll_kibana.rb index 1ac392de4e..300252229c 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/enroll_kibana.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/enroll_kibana.rb @@ -29,6 +29,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-kibana-enrollment.html # def enroll_kibana(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.enroll_kibana" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -39,7 +41,7 @@ def enroll_kibana(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/enroll_node.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/enroll_node.rb index 9c33882787..7a26df20f2 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/enroll_node.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/enroll_node.rb @@ -29,6 +29,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-node-enrollment.html # def enroll_node(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.enroll_node" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -39,7 +41,7 @@ def enroll_node(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/get_api_key.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/get_api_key.rb index 7ffb39ba07..02eb2ed685 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/get_api_key.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/get_api_key.rb @@ -35,6 +35,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-get-api-key.html # def get_api_key(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.get_api_key" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -45,7 +47,7 @@ def get_api_key(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/get_builtin_privileges.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/get_builtin_privileges.rb index b4983e21f5..c224e24702 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/get_builtin_privileges.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/get_builtin_privileges.rb @@ -29,6 +29,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-get-builtin-privileges.html # def get_builtin_privileges(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.get_builtin_privileges" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -39,7 +41,7 @@ def get_builtin_privileges(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/get_privileges.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/get_privileges.rb index 9b09f3c75b..797c6603e5 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/get_privileges.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/get_privileges.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-get-privileges.html # def get_privileges(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.get_privileges" } + + defined_params = [:application, :name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -51,7 +59,7 @@ def get_privileges(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/get_role.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/get_role.rb index 2d4c5e4992..c429bde772 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/get_role.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/get_role.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-get-role.html # def get_role(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.get_role" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -48,12 +56,12 @@ def get_role(arguments = {}) if Array(arguments[:ignore]).include?(404) Utils.__rescue_from_not_found { Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) } else Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/get_role_mapping.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/get_role_mapping.rb index 8c4571c8bd..c652b62846 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/get_role_mapping.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/get_role_mapping.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-get-role-mapping.html # def get_role_mapping(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.get_role_mapping" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -46,7 +54,7 @@ def get_role_mapping(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/get_service_accounts.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/get_service_accounts.rb index d48a0b13e9..ba3393dc48 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/get_service_accounts.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/get_service_accounts.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-get-service-accounts.html # def get_service_accounts(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.get_service_accounts" } + + defined_params = [:namespace, :service].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -51,7 +59,7 @@ def get_service_accounts(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/get_service_credentials.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/get_service_credentials.rb index 4b28035cb9..a63897e466 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/get_service_credentials.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/get_service_credentials.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-get-service-credentials.html # def get_service_credentials(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.get_service_credentials" } + + defined_params = [:namespace, :service].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'namespace' missing" unless arguments[:namespace] raise ArgumentError, "Required argument 'service' missing" unless arguments[:service] @@ -48,7 +56,7 @@ def get_service_credentials(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/get_settings.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/get_settings.rb index 95feb9ca02..1e7ce4dc06 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/get_settings.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/get_settings.rb @@ -29,6 +29,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-get-settings.html # def get_settings(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.get_settings" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -39,7 +41,7 @@ def get_settings(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/get_token.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/get_token.rb index f96a03978a..bc93d79207 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/get_token.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/get_token.rb @@ -30,6 +30,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-get-token.html # def get_token(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.get_token" } + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -42,7 +44,7 @@ def get_token(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/get_user.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/get_user.rb index 68254b014c..2ad61c4770 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/get_user.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/get_user.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-get-user.html # def get_user(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.get_user" } + + defined_params = [:username].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -49,12 +57,12 @@ def get_user(arguments = {}) if Array(arguments[:ignore]).include?(404) Utils.__rescue_from_not_found { Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) } else Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end 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 826e3cdf3a..5d47137301 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 @@ -29,6 +29,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-get-user-privileges.html # def get_user_privileges(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.get_user_privileges" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -39,7 +41,7 @@ def get_user_privileges(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/get_user_profile.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/get_user_profile.rb index 836794286f..a3a8dffc97 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/get_user_profile.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/get_user_profile.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-get-user-profile.html # def get_user_profile(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.get_user_profile" } + + defined_params = [:uid].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'uid' missing" unless arguments[:uid] arguments = arguments.clone @@ -45,7 +53,7 @@ def get_user_profile(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end 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 bf1803e561..4a415b7ead 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 @@ -31,6 +31,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-grant-api-key.html # def grant_api_key(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.grant_api_key" } + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -43,7 +45,7 @@ def grant_api_key(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/has_privileges.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/has_privileges.rb index f607ce5d2a..5e7646cf72 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/has_privileges.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/has_privileges.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-has-privileges.html # def has_privileges(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.has_privileges" } + + defined_params = [:user].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -49,7 +57,7 @@ def has_privileges(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/has_privileges_user_profile.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/has_privileges_user_profile.rb index e292fad425..5bfcfdf1e0 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/has_privileges_user_profile.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/has_privileges_user_profile.rb @@ -30,6 +30,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-has-privileges-user-profile.html # def has_privileges_user_profile(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.has_privileges_user_profile" } + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -42,7 +44,7 @@ def has_privileges_user_profile(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/invalidate_api_key.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/invalidate_api_key.rb index 4c6af6d104..9f2ba723f6 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/invalidate_api_key.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/invalidate_api_key.rb @@ -30,6 +30,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-invalidate-api-key.html # def invalidate_api_key(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.invalidate_api_key" } + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -42,7 +44,7 @@ def invalidate_api_key(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/invalidate_token.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/invalidate_token.rb index 00c7321015..8e04a19169 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/invalidate_token.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/invalidate_token.rb @@ -30,6 +30,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-invalidate-token.html # def invalidate_token(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.invalidate_token" } + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -42,7 +44,7 @@ def invalidate_token(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/oidc_authenticate.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/oidc_authenticate.rb index e2e0d93456..d17b93d883 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/oidc_authenticate.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/oidc_authenticate.rb @@ -30,6 +30,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-oidc-authenticate.html # def oidc_authenticate(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.oidc_authenticate" } + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -42,7 +44,7 @@ def oidc_authenticate(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/oidc_logout.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/oidc_logout.rb index 93985d9fde..b1f3959b43 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/oidc_logout.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/oidc_logout.rb @@ -30,6 +30,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-oidc-logout.html # def oidc_logout(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.oidc_logout" } + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -42,7 +44,7 @@ def oidc_logout(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/oidc_prepare_authentication.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/oidc_prepare_authentication.rb index b79da8ad73..83cfc90cd5 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/oidc_prepare_authentication.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/oidc_prepare_authentication.rb @@ -30,6 +30,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-oidc-prepare-authentication.html # def oidc_prepare_authentication(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.oidc_prepare_authentication" } + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -42,7 +44,7 @@ def oidc_prepare_authentication(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/put_privileges.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/put_privileges.rb index d2cfd8dd15..2deddf2d18 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/put_privileges.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/put_privileges.rb @@ -31,6 +31,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-put-privileges.html # def put_privileges(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.put_privileges" } + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -43,7 +45,7 @@ def put_privileges(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/put_role.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/put_role.rb index b8e7ca155c..48b9c13a98 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/put_role.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/put_role.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-put-role.html # def put_role(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.put_role" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] @@ -47,7 +55,7 @@ def put_role(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/put_role_mapping.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/put_role_mapping.rb index 7de6143ab4..ddac43d1dd 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/put_role_mapping.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/put_role_mapping.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-put-role-mapping.html # def put_role_mapping(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.put_role_mapping" } + + defined_params = [:name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'name' missing" unless arguments[:name] @@ -47,7 +55,7 @@ def put_role_mapping(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/put_user.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/put_user.rb index 966d8131ef..7ca37ac984 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/put_user.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/put_user.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-put-user.html # def put_user(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.put_user" } + + defined_params = [:username].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'username' missing" unless arguments[:username] @@ -47,7 +55,7 @@ def put_user(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/query_api_keys.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/query_api_keys.rb index d60d86253b..61886c6caa 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/query_api_keys.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/query_api_keys.rb @@ -31,6 +31,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-query-api-key.html # def query_api_keys(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.query_api_keys" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -46,7 +48,7 @@ def query_api_keys(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/saml_authenticate.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/saml_authenticate.rb index d743628c83..7b42482994 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/saml_authenticate.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/saml_authenticate.rb @@ -30,6 +30,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-saml-authenticate.html # def saml_authenticate(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.saml_authenticate" } + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -42,7 +44,7 @@ def saml_authenticate(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/saml_complete_logout.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/saml_complete_logout.rb index f78b2278e7..74c0fafebe 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/saml_complete_logout.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/saml_complete_logout.rb @@ -30,6 +30,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-saml-complete-logout.html # def saml_complete_logout(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.saml_complete_logout" } + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -42,7 +44,7 @@ def saml_complete_logout(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/saml_invalidate.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/saml_invalidate.rb index 264dfad171..0f69bcb70a 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/saml_invalidate.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/saml_invalidate.rb @@ -30,6 +30,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-saml-invalidate.html # def saml_invalidate(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.saml_invalidate" } + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -42,7 +44,7 @@ def saml_invalidate(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/saml_logout.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/saml_logout.rb index c3a9b3ed53..e6e224e464 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/saml_logout.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/saml_logout.rb @@ -30,6 +30,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-saml-logout.html # def saml_logout(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.saml_logout" } + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -42,7 +44,7 @@ def saml_logout(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/saml_prepare_authentication.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/saml_prepare_authentication.rb index 38ada9f603..f54a34c374 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/saml_prepare_authentication.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/saml_prepare_authentication.rb @@ -30,6 +30,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-saml-prepare-authentication.html # def saml_prepare_authentication(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.saml_prepare_authentication" } + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -42,7 +44,7 @@ def saml_prepare_authentication(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/saml_service_provider_metadata.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/saml_service_provider_metadata.rb index ef67353889..a341f17e5b 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/saml_service_provider_metadata.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/saml_service_provider_metadata.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-saml-sp-metadata.html # def saml_service_provider_metadata(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.saml_service_provider_metadata" } + + defined_params = [:realm_name].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'realm_name' missing" unless arguments[:realm_name] arguments = arguments.clone @@ -44,7 +52,7 @@ def saml_service_provider_metadata(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/suggest_user_profiles.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/suggest_user_profiles.rb index 8f11761af6..e22046a53d 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/suggest_user_profiles.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/suggest_user_profiles.rb @@ -31,6 +31,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-suggest-user-profile.html # def suggest_user_profiles(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.suggest_user_profiles" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -46,7 +48,7 @@ def suggest_user_profiles(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/update_api_key.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/update_api_key.rb index 2939d02627..be6bc88d17 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/update_api_key.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/update_api_key.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-update-api-key.html # def update_api_key(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.update_api_key" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone @@ -45,7 +53,7 @@ def update_api_key(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/update_cross_cluster_api_key.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/update_cross_cluster_api_key.rb index f2c68f5ec9..ea7dae4b34 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/update_cross_cluster_api_key.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/update_cross_cluster_api_key.rb @@ -35,6 +35,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-update-cross-cluster-api-key.html # def update_cross_cluster_api_key(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.update_cross_cluster_api_key" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] @@ -50,7 +58,7 @@ def update_cross_cluster_api_key(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/update_settings.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/update_settings.rb index d05e85d06c..a880c51b53 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/update_settings.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/update_settings.rb @@ -30,6 +30,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-update-settings.html # def update_settings(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.update_settings" } + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -42,7 +44,7 @@ def update_settings(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/security/update_user_profile_data.rb b/elasticsearch-api/lib/elasticsearch/api/actions/security/update_user_profile_data.rb index 41d7f5bf3d..6a7ee5eb13 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/security/update_user_profile_data.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/security/update_user_profile_data.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-update-user-profile-data.html # def update_user_profile_data(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "security.update_user_profile_data" } + + defined_params = [:uid].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'uid' missing" unless arguments[:uid] @@ -49,7 +57,7 @@ def update_user_profile_data(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/shutdown/delete_node.rb b/elasticsearch-api/lib/elasticsearch/api/actions/shutdown/delete_node.rb index dcb95bab40..3732724564 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/shutdown/delete_node.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/shutdown/delete_node.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current # def delete_node(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "shutdown.delete_node" } + + defined_params = [:node_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'node_id' missing" unless arguments[:node_id] arguments = arguments.clone @@ -44,7 +52,7 @@ def delete_node(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/shutdown/get_node.rb b/elasticsearch-api/lib/elasticsearch/api/actions/shutdown/get_node.rb index 2ccfb56563..ab0c9abfe5 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/shutdown/get_node.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/shutdown/get_node.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current # def get_node(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "shutdown.get_node" } + + defined_params = [:node_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -46,7 +54,7 @@ def get_node(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/shutdown/put_node.rb b/elasticsearch-api/lib/elasticsearch/api/actions/shutdown/put_node.rb index 768b5cc0c9..5161108fe9 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/shutdown/put_node.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/shutdown/put_node.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current # def put_node(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "shutdown.put_node" } + + defined_params = [:node_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'node_id' missing" unless arguments[:node_id] @@ -46,7 +54,7 @@ def put_node(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/cleanup_repository.rb b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/cleanup_repository.rb index 43f94739af..59e9e598ec 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/cleanup_repository.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/cleanup_repository.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/clean-up-snapshot-repo-api.html # def cleanup_repository(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "snapshot.cleanup_repository" } + + defined_params = [:repository].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository] arguments = arguments.clone @@ -46,7 +54,7 @@ def cleanup_repository(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/clone.rb b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/clone.rb index a4804c4d3c..5217fc0e84 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/clone.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/clone.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html # def clone(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "snapshot.clone" } + + defined_params = [:repository, :snapshot, :target_snapshot].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository] raise ArgumentError, "Required argument 'snapshot' missing" unless arguments[:snapshot] @@ -55,7 +63,7 @@ def clone(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/create.rb b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/create.rb index 1adf0321e7..22646b3699 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/create.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/create.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html # def create(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "snapshot.create" } + + defined_params = [:repository, :snapshot].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository] raise ArgumentError, "Required argument 'snapshot' missing" unless arguments[:snapshot] @@ -51,7 +59,7 @@ def create(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/create_repository.rb b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/create_repository.rb index 239b0e656f..d80e6f62af 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/create_repository.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/create_repository.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html # def create_repository(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "snapshot.create_repository" } + + defined_params = [:repository].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository] @@ -49,7 +57,7 @@ def create_repository(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/delete.rb b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/delete.rb index ee154a709b..0ea575a5b2 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/delete.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/delete.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html # def delete(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "snapshot.delete" } + + defined_params = [:repository, :snapshot].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository] raise ArgumentError, "Required argument 'snapshot' missing" unless arguments[:snapshot] @@ -51,12 +59,12 @@ def delete(arguments = {}) if Array(arguments[:ignore]).include?(404) Utils.__rescue_from_not_found { Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) } else Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/delete_repository.rb b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/delete_repository.rb index 7570265903..d7954ac39d 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/delete_repository.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/delete_repository.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html # def delete_repository(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "snapshot.delete_repository" } + + defined_params = [:repository].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository] arguments = arguments.clone @@ -48,12 +56,12 @@ def delete_repository(arguments = {}) if Array(arguments[:ignore]).include?(404) Utils.__rescue_from_not_found { Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) } else Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/get.rb b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/get.rb index 4d42438caf..655557acdb 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/get.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/get.rb @@ -44,6 +44,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html # def get(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "snapshot.get" } + + defined_params = [:repository, :snapshot].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository] raise ArgumentError, "Required argument 'snapshot' missing" unless arguments[:snapshot] @@ -63,12 +71,12 @@ def get(arguments = {}) if Array(arguments[:ignore]).include?(404) Utils.__rescue_from_not_found { Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) } else Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/get_repository.rb b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/get_repository.rb index a15f903d52..c51f3fb950 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/get_repository.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/get_repository.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html # def get_repository(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "snapshot.get_repository" } + + defined_params = [:repository].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -50,12 +58,12 @@ def get_repository(arguments = {}) if Array(arguments[:ignore]).include?(404) Utils.__rescue_from_not_found { Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) } else Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/repository_analyze.rb b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/repository_analyze.rb index cee6820ec2..f598d91d89 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/repository_analyze.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/repository_analyze.rb @@ -41,6 +41,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html # def repository_analyze(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "snapshot.repository_analyze" } + + defined_params = [:repository].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository] arguments = arguments.clone @@ -55,7 +63,7 @@ def repository_analyze(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/restore.rb b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/restore.rb index b304cb43c7..a1cf7693f6 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/restore.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/restore.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html # def restore(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "snapshot.restore" } + + defined_params = [:repository, :snapshot].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository] raise ArgumentError, "Required argument 'snapshot' missing" unless arguments[:snapshot] @@ -51,7 +59,7 @@ def restore(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/status.rb b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/status.rb index c2a024cd9d..7fb7fd6391 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/status.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/status.rb @@ -33,6 +33,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html # def status(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "snapshot.status" } + + defined_params = [:repository, :snapshot].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -55,12 +63,12 @@ def status(arguments = {}) if Array(arguments[:ignore]).include?(404) Utils.__rescue_from_not_found { Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) } else Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/verify_repository.rb b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/verify_repository.rb index 35c02f62e1..4bec5a4c3b 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/verify_repository.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot/verify_repository.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html # def verify_repository(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "snapshot.verify_repository" } + + defined_params = [:repository].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository] arguments = arguments.clone @@ -46,7 +54,7 @@ def verify_repository(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot_lifecycle_management/delete_lifecycle.rb b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot_lifecycle_management/delete_lifecycle.rb index 0781577c3b..f615613bc5 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot_lifecycle_management/delete_lifecycle.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot_lifecycle_management/delete_lifecycle.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-api-delete-policy.html # def delete_lifecycle(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "slm.delete_lifecycle" } + + defined_params = [:policy_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'policy_id' missing" unless arguments[:policy_id] arguments = arguments.clone @@ -44,7 +52,7 @@ def delete_lifecycle(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot_lifecycle_management/execute_lifecycle.rb b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot_lifecycle_management/execute_lifecycle.rb index a4e11a1c67..33fdba4799 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot_lifecycle_management/execute_lifecycle.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot_lifecycle_management/execute_lifecycle.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-api-execute-lifecycle.html # def execute_lifecycle(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "slm.execute_lifecycle" } + + defined_params = [:policy_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'policy_id' missing" unless arguments[:policy_id] arguments = arguments.clone @@ -44,7 +52,7 @@ def execute_lifecycle(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot_lifecycle_management/execute_retention.rb b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot_lifecycle_management/execute_retention.rb index 6f49f1bb91..3dee31ebd7 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot_lifecycle_management/execute_retention.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot_lifecycle_management/execute_retention.rb @@ -29,6 +29,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-api-execute-retention.html # def execute_retention(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "slm.execute_retention" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -39,7 +41,7 @@ def execute_retention(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot_lifecycle_management/get_lifecycle.rb b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot_lifecycle_management/get_lifecycle.rb index cbd8f3e3a7..d6b9049420 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot_lifecycle_management/get_lifecycle.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot_lifecycle_management/get_lifecycle.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-api-get-policy.html # def get_lifecycle(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "slm.get_lifecycle" } + + defined_params = [:policy_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -46,7 +54,7 @@ def get_lifecycle(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot_lifecycle_management/get_stats.rb b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot_lifecycle_management/get_stats.rb index 3463f48a12..eec5225fab 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot_lifecycle_management/get_stats.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot_lifecycle_management/get_stats.rb @@ -29,6 +29,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-api-get-stats.html # def get_stats(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "slm.get_stats" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -39,7 +41,7 @@ def get_stats(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot_lifecycle_management/get_status.rb b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot_lifecycle_management/get_status.rb index 1801e72b97..cec2686bff 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot_lifecycle_management/get_status.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot_lifecycle_management/get_status.rb @@ -29,6 +29,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-api-get-status.html # def get_status(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "slm.get_status" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -39,7 +41,7 @@ def get_status(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot_lifecycle_management/put_lifecycle.rb b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot_lifecycle_management/put_lifecycle.rb index 86106c0d82..ef447beae7 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot_lifecycle_management/put_lifecycle.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot_lifecycle_management/put_lifecycle.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-api-put-policy.html # def put_lifecycle(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "slm.put_lifecycle" } + + defined_params = [:policy_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'policy_id' missing" unless arguments[:policy_id] arguments = arguments.clone @@ -45,7 +53,7 @@ def put_lifecycle(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot_lifecycle_management/start.rb b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot_lifecycle_management/start.rb index 92b091f26e..cec8014bbd 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot_lifecycle_management/start.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot_lifecycle_management/start.rb @@ -29,6 +29,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-api-start.html # def start(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "slm.start" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -39,7 +41,7 @@ def start(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot_lifecycle_management/stop.rb b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot_lifecycle_management/stop.rb index 0fe259257e..65a328f832 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/snapshot_lifecycle_management/stop.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/snapshot_lifecycle_management/stop.rb @@ -29,6 +29,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-api-stop.html # def stop(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "slm.stop" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -39,7 +41,7 @@ def stop(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/sql/clear_cursor.rb b/elasticsearch-api/lib/elasticsearch/api/actions/sql/clear_cursor.rb index aa97e9efca..3223c0cde9 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/sql/clear_cursor.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/sql/clear_cursor.rb @@ -30,6 +30,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/clear-sql-cursor-api.html # def clear_cursor(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "sql.clear_cursor" } + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -42,7 +44,7 @@ def clear_cursor(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/sql/delete_async.rb b/elasticsearch-api/lib/elasticsearch/api/actions/sql/delete_async.rb index 5801dcc08d..40d7f6de40 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/sql/delete_async.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/sql/delete_async.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-async-sql-search-api.html # def delete_async(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "sql.delete_async" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone @@ -44,7 +52,7 @@ def delete_async(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/sql/get_async.rb b/elasticsearch-api/lib/elasticsearch/api/actions/sql/get_async.rb index a2347e9717..e565509613 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/sql/get_async.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/sql/get_async.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/get-async-sql-search-api.html # def get_async(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "sql.get_async" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone @@ -48,7 +56,7 @@ def get_async(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/sql/get_async_status.rb b/elasticsearch-api/lib/elasticsearch/api/actions/sql/get_async_status.rb index bc7a91522f..61ae0b5dbb 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/sql/get_async_status.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/sql/get_async_status.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/get-async-sql-search-status-api.html # def get_async_status(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "sql.get_async_status" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone @@ -44,7 +52,7 @@ def get_async_status(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/sql/query.rb b/elasticsearch-api/lib/elasticsearch/api/actions/sql/query.rb index 90f4875669..0d9c874ece 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/sql/query.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/sql/query.rb @@ -31,6 +31,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/sql-search-api.html # def query(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "sql.query" } + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -43,7 +45,7 @@ def query(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/sql/translate.rb b/elasticsearch-api/lib/elasticsearch/api/actions/sql/translate.rb index 3f9764e75f..31bce125fa 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/sql/translate.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/sql/translate.rb @@ -30,6 +30,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/sql-translate-api.html # def translate(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "sql.translate" } + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -42,7 +44,7 @@ def translate(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/ssl/certificates.rb b/elasticsearch-api/lib/elasticsearch/api/actions/ssl/certificates.rb index 549c149c9a..f257e88d3b 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/ssl/certificates.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/ssl/certificates.rb @@ -29,6 +29,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-ssl.html # def certificates(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "ssl.certificates" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -39,7 +41,7 @@ def certificates(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/synonyms/delete_synonym.rb b/elasticsearch-api/lib/elasticsearch/api/actions/synonyms/delete_synonym.rb index c902acb793..0758b07290 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/synonyms/delete_synonym.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/synonyms/delete_synonym.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-synonyms-set.html # def delete_synonym(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "synonyms.delete_synonym" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone @@ -48,7 +56,7 @@ def delete_synonym(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/synonyms/delete_synonym_rule.rb b/elasticsearch-api/lib/elasticsearch/api/actions/synonyms/delete_synonym_rule.rb index 9af3c63419..49927c7ebb 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/synonyms/delete_synonym_rule.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/synonyms/delete_synonym_rule.rb @@ -35,6 +35,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-synonym-rule.html # def delete_synonym_rule(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "synonyms.delete_synonym_rule" } + + defined_params = [:set_id, :rule_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'set_id' missing" unless arguments[:set_id] raise ArgumentError, "Required argument 'rule_id' missing" unless arguments[:rule_id] @@ -52,7 +60,7 @@ def delete_synonym_rule(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/synonyms/get_synonym.rb b/elasticsearch-api/lib/elasticsearch/api/actions/synonyms/get_synonym.rb index 0873064ccf..9bfe11f4ec 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/synonyms/get_synonym.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/synonyms/get_synonym.rb @@ -36,6 +36,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/get-synonyms-set.html # def get_synonym(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "synonyms.get_synonym" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone @@ -50,7 +58,7 @@ def get_synonym(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/synonyms/get_synonym_rule.rb b/elasticsearch-api/lib/elasticsearch/api/actions/synonyms/get_synonym_rule.rb index 9e006a31e8..4cde607f25 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/synonyms/get_synonym_rule.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/synonyms/get_synonym_rule.rb @@ -35,6 +35,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/get-synonym-rule.html # def get_synonym_rule(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "synonyms.get_synonym_rule" } + + defined_params = [:set_id, :rule_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'set_id' missing" unless arguments[:set_id] raise ArgumentError, "Required argument 'rule_id' missing" unless arguments[:rule_id] @@ -52,7 +60,7 @@ def get_synonym_rule(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/synonyms/get_synonyms_sets.rb b/elasticsearch-api/lib/elasticsearch/api/actions/synonyms/get_synonyms_sets.rb index 892388f62a..0ae03903e4 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/synonyms/get_synonyms_sets.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/synonyms/get_synonyms_sets.rb @@ -35,6 +35,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/list-synonyms-sets.html # def get_synonyms_sets(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "synonyms.get_synonyms_sets" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -45,7 +47,7 @@ def get_synonyms_sets(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end 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 3708af4f39..1817b0da65 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/synonyms/put_synonym.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/synonyms/put_synonym.rb @@ -35,6 +35,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/put-synonyms-set.html # def put_synonym(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "synonyms.put_synonym" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] @@ -50,7 +58,7 @@ def put_synonym(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/synonyms/put_synonym_rule.rb b/elasticsearch-api/lib/elasticsearch/api/actions/synonyms/put_synonym_rule.rb index b079a610ce..3a295a3042 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/synonyms/put_synonym_rule.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/synonyms/put_synonym_rule.rb @@ -36,6 +36,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/put-synonym-rule.html # def put_synonym_rule(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "synonyms.put_synonym_rule" } + + defined_params = [:set_id, :rule_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'set_id' missing" unless arguments[:set_id] raise ArgumentError, "Required argument 'rule_id' missing" unless arguments[:rule_id] @@ -54,7 +62,7 @@ def put_synonym_rule(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/tasks/cancel.rb b/elasticsearch-api/lib/elasticsearch/api/actions/tasks/cancel.rb index 076fb91d80..8dde233be7 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/tasks/cancel.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/tasks/cancel.rb @@ -38,6 +38,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/tasks.html # def cancel(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "tasks.cancel" } + + defined_params = [:task_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -54,7 +62,7 @@ def cancel(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/tasks/get.rb b/elasticsearch-api/lib/elasticsearch/api/actions/tasks/get.rb index b94d91bc6b..e5ea28eb70 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/tasks/get.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/tasks/get.rb @@ -36,6 +36,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/tasks.html # def get(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "tasks.get" } + + defined_params = [:task_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -48,7 +56,7 @@ def get(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/tasks/list.rb b/elasticsearch-api/lib/elasticsearch/api/actions/tasks/list.rb index a16ef69c36..dfa6dc4195 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/tasks/list.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/tasks/list.rb @@ -40,6 +40,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/tasks.html # def list(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "tasks.list" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -50,7 +52,7 @@ def list(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/terms_enum.rb b/elasticsearch-api/lib/elasticsearch/api/actions/terms_enum.rb index 9dbfd23551..554edc11e2 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/terms_enum.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/terms_enum.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/search-terms-enum.html # def terms_enum(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "terms_enum" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] arguments = arguments.clone @@ -49,7 +57,7 @@ def terms_enum(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/termvectors.rb b/elasticsearch-api/lib/elasticsearch/api/actions/termvectors.rb index 1e6f2eea98..9be51977b9 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/termvectors.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/termvectors.rb @@ -42,6 +42,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-termvectors.html # def termvectors(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "termvectors" } + + defined_params = [:index, :id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] arguments = arguments.clone @@ -68,7 +76,7 @@ def termvectors(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/text_structure/find_structure.rb b/elasticsearch-api/lib/elasticsearch/api/actions/text_structure/find_structure.rb index 56ea7efbfa..cff8f5f5bf 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/text_structure/find_structure.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/text_structure/find_structure.rb @@ -45,6 +45,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/find-structure.html # def find_structure(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "text_structure.find_structure" } + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -64,7 +66,7 @@ def find_structure(arguments = {}) headers.merge!("Content-Type" => "application/x-ndjson") Elasticsearch::API::Response.new( - perform_request(method, path, params, payload, headers) + perform_request(method, path, params, payload, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/transform/delete_transform.rb b/elasticsearch-api/lib/elasticsearch/api/actions/transform/delete_transform.rb index 0be922e61b..5e73bf1195 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/transform/delete_transform.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/transform/delete_transform.rb @@ -33,6 +33,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-transform.html # def delete_transform(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "transform.delete_transform" } + + defined_params = [:transform_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'transform_id' missing" unless arguments[:transform_id] arguments = arguments.clone @@ -47,7 +55,7 @@ def delete_transform(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/transform/get_transform.rb b/elasticsearch-api/lib/elasticsearch/api/actions/transform/get_transform.rb index 957645fca5..86b185d634 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/transform/get_transform.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/transform/get_transform.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/get-transform.html # def get_transform(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "transform.get_transform" } + + defined_params = [:transform_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -50,7 +58,7 @@ def get_transform(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/transform/get_transform_stats.rb b/elasticsearch-api/lib/elasticsearch/api/actions/transform/get_transform_stats.rb index 72c8b5f0d3..5c4f992307 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/transform/get_transform_stats.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/transform/get_transform_stats.rb @@ -34,6 +34,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/get-transform-stats.html # def get_transform_stats(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "transform.get_transform_stats" } + + defined_params = [:transform_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'transform_id' missing" unless arguments[:transform_id] arguments = arguments.clone @@ -48,7 +56,7 @@ def get_transform_stats(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/transform/preview_transform.rb b/elasticsearch-api/lib/elasticsearch/api/actions/transform/preview_transform.rb index ec438cd5d6..dffd9196f1 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/transform/preview_transform.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/transform/preview_transform.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/preview-transform.html # def preview_transform(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "transform.preview_transform" } + + defined_params = [:transform_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -53,7 +61,7 @@ def preview_transform(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/transform/put_transform.rb b/elasticsearch-api/lib/elasticsearch/api/actions/transform/put_transform.rb index ceab00abbc..c369208ce6 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/transform/put_transform.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/transform/put_transform.rb @@ -33,6 +33,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/put-transform.html # def put_transform(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "transform.put_transform" } + + defined_params = [:transform_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'transform_id' missing" unless arguments[:transform_id] @@ -48,7 +56,7 @@ def put_transform(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/transform/reset_transform.rb b/elasticsearch-api/lib/elasticsearch/api/actions/transform/reset_transform.rb index b05517f375..a031fb6394 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/transform/reset_transform.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/transform/reset_transform.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/reset-transform.html # def reset_transform(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "transform.reset_transform" } + + defined_params = [:transform_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'transform_id' missing" unless arguments[:transform_id] arguments = arguments.clone @@ -46,7 +54,7 @@ def reset_transform(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/transform/schedule_now_transform.rb b/elasticsearch-api/lib/elasticsearch/api/actions/transform/schedule_now_transform.rb index c609724e69..c4a1514c7f 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/transform/schedule_now_transform.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/transform/schedule_now_transform.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/schedule-now-transform.html # def schedule_now_transform(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "transform.schedule_now_transform" } + + defined_params = [:transform_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'transform_id' missing" unless arguments[:transform_id] arguments = arguments.clone @@ -45,7 +53,7 @@ def schedule_now_transform(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/transform/start_transform.rb b/elasticsearch-api/lib/elasticsearch/api/actions/transform/start_transform.rb index d41773766d..6eebc7557b 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/transform/start_transform.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/transform/start_transform.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/start-transform.html # def start_transform(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "transform.start_transform" } + + defined_params = [:transform_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'transform_id' missing" unless arguments[:transform_id] arguments = arguments.clone @@ -46,7 +54,7 @@ def start_transform(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/transform/stop_transform.rb b/elasticsearch-api/lib/elasticsearch/api/actions/transform/stop_transform.rb index 42743b657c..ced1794eb3 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/transform/stop_transform.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/transform/stop_transform.rb @@ -35,6 +35,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/stop-transform.html # def stop_transform(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "transform.stop_transform" } + + defined_params = [:transform_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'transform_id' missing" unless arguments[:transform_id] arguments = arguments.clone @@ -49,7 +57,7 @@ def stop_transform(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/transform/update_transform.rb b/elasticsearch-api/lib/elasticsearch/api/actions/transform/update_transform.rb index f5b8e245c7..f60762fb2f 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/transform/update_transform.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/transform/update_transform.rb @@ -33,6 +33,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/update-transform.html # def update_transform(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "transform.update_transform" } + + defined_params = [:transform_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'transform_id' missing" unless arguments[:transform_id] @@ -48,7 +56,7 @@ def update_transform(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/transform/upgrade_transforms.rb b/elasticsearch-api/lib/elasticsearch/api/actions/transform/upgrade_transforms.rb index 22bf4c0353..b5e6509e3e 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/transform/upgrade_transforms.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/transform/upgrade_transforms.rb @@ -31,6 +31,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/upgrade-transforms.html # def upgrade_transforms(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "transform.upgrade_transforms" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -41,7 +43,7 @@ def upgrade_transforms(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/update.rb b/elasticsearch-api/lib/elasticsearch/api/actions/update.rb index 93cdb4b992..3c819b32b7 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/update.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/update.rb @@ -43,6 +43,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update.html # def update(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "update" } + + defined_params = [:index, :id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] @@ -63,12 +71,12 @@ def update(arguments = {}) if Array(arguments[:ignore]).include?(404) Utils.__rescue_from_not_found { Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) } else Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end 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 54d1d63102..dea4533e4f 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/update_by_query.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/update_by_query.rb @@ -62,6 +62,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update-by-query.html # def update_by_query(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "update_by_query" } + + defined_params = [:index].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] arguments = arguments.clone @@ -76,7 +84,7 @@ def update_by_query(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/update_by_query_rethrottle.rb b/elasticsearch-api/lib/elasticsearch/api/actions/update_by_query_rethrottle.rb index b34ecd28b4..753a28f863 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/update_by_query_rethrottle.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/update_by_query_rethrottle.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update-by-query.html # def update_by_query_rethrottle(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "update_by_query_rethrottle" } + + defined_params = [:task_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'task_id' missing" unless arguments[:task_id] arguments = arguments.clone @@ -44,7 +52,7 @@ def update_by_query_rethrottle(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/watcher/ack_watch.rb b/elasticsearch-api/lib/elasticsearch/api/actions/watcher/ack_watch.rb index 985ca3db1d..b25cf966fc 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/watcher/ack_watch.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/watcher/ack_watch.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/watcher-api-ack-watch.html # def ack_watch(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "watcher.ack_watch" } + + defined_params = [:watch_id, :action_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'watch_id' missing" unless arguments[:watch_id] arguments = arguments.clone @@ -51,7 +59,7 @@ def ack_watch(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/watcher/activate_watch.rb b/elasticsearch-api/lib/elasticsearch/api/actions/watcher/activate_watch.rb index c973d60dac..0ceb96bc3c 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/watcher/activate_watch.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/watcher/activate_watch.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/watcher-api-activate-watch.html # def activate_watch(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "watcher.activate_watch" } + + defined_params = [:watch_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'watch_id' missing" unless arguments[:watch_id] arguments = arguments.clone @@ -44,7 +52,7 @@ def activate_watch(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/watcher/deactivate_watch.rb b/elasticsearch-api/lib/elasticsearch/api/actions/watcher/deactivate_watch.rb index 25cbeabd9d..6684b81b3e 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/watcher/deactivate_watch.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/watcher/deactivate_watch.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/watcher-api-deactivate-watch.html # def deactivate_watch(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "watcher.deactivate_watch" } + + defined_params = [:watch_id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'watch_id' missing" unless arguments[:watch_id] arguments = arguments.clone @@ -44,7 +52,7 @@ def deactivate_watch(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/watcher/delete_watch.rb b/elasticsearch-api/lib/elasticsearch/api/actions/watcher/delete_watch.rb index 46a19f167b..74d8859cdf 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/watcher/delete_watch.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/watcher/delete_watch.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/watcher-api-delete-watch.html # def delete_watch(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "watcher.delete_watch" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone @@ -46,12 +54,12 @@ def delete_watch(arguments = {}) if Array(arguments[:ignore]).include?(404) Utils.__rescue_from_not_found { Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) } else Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/watcher/execute_watch.rb b/elasticsearch-api/lib/elasticsearch/api/actions/watcher/execute_watch.rb index d0bf8b1c26..a295f1fccc 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/watcher/execute_watch.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/watcher/execute_watch.rb @@ -32,6 +32,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/watcher-api-execute-watch.html # def execute_watch(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "watcher.execute_watch" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -48,7 +56,7 @@ def execute_watch(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/watcher/get_settings.rb b/elasticsearch-api/lib/elasticsearch/api/actions/watcher/get_settings.rb index 565a6b8840..843bfb5865 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/watcher/get_settings.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/watcher/get_settings.rb @@ -29,6 +29,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/watcher-api-get-settings.html # def get_settings(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "watcher.get_settings" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -39,7 +41,7 @@ def get_settings(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/watcher/get_watch.rb b/elasticsearch-api/lib/elasticsearch/api/actions/watcher/get_watch.rb index f6d28bea93..13bab26cde 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/watcher/get_watch.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/watcher/get_watch.rb @@ -30,6 +30,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/watcher-api-get-watch.html # def get_watch(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "watcher.get_watch" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone @@ -44,7 +52,7 @@ def get_watch(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/watcher/put_watch.rb b/elasticsearch-api/lib/elasticsearch/api/actions/watcher/put_watch.rb index a582e0016e..fb7199e437 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/watcher/put_watch.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/watcher/put_watch.rb @@ -35,6 +35,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/watcher-api-put-watch.html # def put_watch(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "watcher.put_watch" } + + defined_params = [:id].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone @@ -49,7 +57,7 @@ def put_watch(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/watcher/query_watches.rb b/elasticsearch-api/lib/elasticsearch/api/actions/watcher/query_watches.rb index 5a952ca40a..a02065c959 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/watcher/query_watches.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/watcher/query_watches.rb @@ -30,6 +30,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/watcher-api-query-watches.html # def query_watches(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "watcher.query_watches" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -45,7 +47,7 @@ def query_watches(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/watcher/start.rb b/elasticsearch-api/lib/elasticsearch/api/actions/watcher/start.rb index fa71261a8a..80d284a2d0 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/watcher/start.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/watcher/start.rb @@ -29,6 +29,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/watcher-api-start.html # def start(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "watcher.start" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -39,7 +41,7 @@ def start(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/watcher/stats.rb b/elasticsearch-api/lib/elasticsearch/api/actions/watcher/stats.rb index cea1d31c91..2a7f6d983b 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/watcher/stats.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/watcher/stats.rb @@ -31,6 +31,14 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/watcher-api-stats.html # def stats(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "watcher.stats" } + + defined_params = [:metric].inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -47,7 +55,7 @@ def stats(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/watcher/stop.rb b/elasticsearch-api/lib/elasticsearch/api/actions/watcher/stop.rb index 5d2394caf4..853529315c 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/watcher/stop.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/watcher/stop.rb @@ -29,6 +29,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/watcher-api-stop.html # def stop(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "watcher.stop" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -39,7 +41,7 @@ def stop(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/watcher/update_settings.rb b/elasticsearch-api/lib/elasticsearch/api/actions/watcher/update_settings.rb index 6e4c27c223..5b710e14bc 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/watcher/update_settings.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/watcher/update_settings.rb @@ -30,6 +30,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/watcher-api-update-settings.html # def update_settings(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "watcher.update_settings" } + raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone @@ -42,7 +44,7 @@ def update_settings(arguments = {}) params = {} Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/xpack/info.rb b/elasticsearch-api/lib/elasticsearch/api/actions/xpack/info.rb index 6dc2b6e496..47a259db47 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/xpack/info.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/xpack/info.rb @@ -31,6 +31,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/info-api.html # def info(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "xpack.info" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -41,7 +43,7 @@ def info(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/actions/xpack/usage.rb b/elasticsearch-api/lib/elasticsearch/api/actions/xpack/usage.rb index b15346c02a..567974ce92 100644 --- a/elasticsearch-api/lib/elasticsearch/api/actions/xpack/usage.rb +++ b/elasticsearch-api/lib/elasticsearch/api/actions/xpack/usage.rb @@ -30,6 +30,8 @@ module Actions # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/usage-api.html # def usage(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "xpack.usage" } + arguments = arguments.clone headers = arguments.delete(:headers) || {} @@ -40,7 +42,7 @@ def usage(arguments = {}) params = Utils.process_params(arguments) Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end end diff --git a/elasticsearch-api/lib/elasticsearch/api/namespace/common.rb b/elasticsearch-api/lib/elasticsearch/api/namespace/common.rb index 06cac3f73a..4178b6b093 100644 --- a/elasticsearch-api/lib/elasticsearch/api/namespace/common.rb +++ b/elasticsearch-api/lib/elasticsearch/api/namespace/common.rb @@ -34,8 +34,8 @@ def initialize(client) # Delegates the `perform_request` method to the wrapped client # - def perform_request(method, path, params={}, body=nil, headers=nil) - client.perform_request method, path, params, body, headers + def perform_request(method, path, params={}, body=nil, headers=nil, request_opts={}) + client.perform_request method, path, params, body, headers, request_opts end end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/bulk_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/bulk_spec.rb index d18330b38c..0d18d0ee9a 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/bulk_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/bulk_spec.rb @@ -24,7 +24,8 @@ url, params, body, - headers + headers, + {:endpoint=>"bulk"} ] end @@ -59,6 +60,17 @@ context 'when an index is specified' do let(:url) { 'myindex/_bulk' } + let(:expected_args) do + [ + 'POST', + url, + params, + body, + headers, + { defined_params: { index: 'myindex' }, :endpoint=>"bulk"} + ] + end + it 'performs the request' do expect(client_double.bulk(index: 'myindex', body: [])).to be_a Elasticsearch::API::Response end @@ -113,6 +125,17 @@ 'foo%5Ebar/_bulk' end + let(:expected_args) do + [ + 'POST', + url, + params, + body, + headers, + { defined_params: { index: 'foo^bar' }, :endpoint=>"bulk"} + ] + end + it 'performs the request' do expect(client_double.bulk(index: 'foo^bar', body: [])).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/cat/aliases_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/cat/aliases_spec.rb index 934e4d3aa0..4524b24363 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/cat/aliases_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/cat/aliases_spec.rb @@ -25,7 +25,8 @@ '_cat/aliases', {}, nil, - {} + {}, + { endpoint: 'cat.aliases' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/cat/allocation_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/cat/allocation_spec.rb index ee5db7275e..81fd6cd1ea 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/cat/allocation_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/cat/allocation_spec.rb @@ -25,7 +25,8 @@ '_cat/allocation', {}, nil, - {} + {}, + { endpoint: 'cat.allocation' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/cat/component_templates_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/cat/component_templates_spec.rb index eb03af9102..1e3b559771 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/cat/component_templates_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/cat/component_templates_spec.rb @@ -18,19 +18,20 @@ require 'spec_helper' describe 'client.cat#component_templates' do - let(:expected_args) do - [ - 'GET', - url, - {}, - nil, - {} - ] - end - context 'without a name' do let(:url) { '_cat/component_templates' } + let(:expected_args) do + [ + 'GET', + url, + {}, + nil, + {}, + { endpoint: 'cat.component_templates' } + ] + end + it 'performs the request' do expect(client_double.cat.component_templates).to be_a Elasticsearch::API::Response end @@ -39,6 +40,17 @@ context 'with a name' do let(:url) { '_cat/component_templates/foo' } + let(:expected_args) do + [ + 'GET', + url, + {}, + nil, + {}, + { defined_params: { name: 'foo' }, endpoint: 'cat.component_templates' } + ] + end + it 'performs the request' do expect(client_double.cat.component_templates(name: 'foo')).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/cat/count_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/cat/count_spec.rb index e1c335032a..5db1051797 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/cat/count_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/cat/count_spec.rb @@ -25,7 +25,8 @@ '_cat/count', {}, nil, - {} + {}, + { endpoint: 'cat.count' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/cat/fielddata_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/cat/fielddata_spec.rb index 051622921d..30784474b3 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/cat/fielddata_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/cat/fielddata_spec.rb @@ -25,7 +25,8 @@ '_cat/fielddata', {}, nil, - {} + {}, + { endpoint: 'cat.fielddata' } ] end @@ -41,7 +42,8 @@ '_cat/fielddata/foo,bar', {}, nil, - {} + {}, + { defined_params: { fields: ['foo', 'bar'] }, endpoint: 'cat.fielddata' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/cat/health_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/cat/health_spec.rb index 32afd710f2..dfbfbfb634 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/cat/health_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/cat/health_spec.rb @@ -25,7 +25,8 @@ '_cat/health', {}, nil, - {} + {}, + { endpoint: 'cat.health' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/cat/help_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/cat/help_spec.rb index eccfa32c29..5cff6878aa 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/cat/help_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/cat/help_spec.rb @@ -25,7 +25,8 @@ '_cat', {}, nil, - {} + {}, + { endpoint: 'cat.help' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/cat/indices_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/cat/indices_spec.rb index 823ec1f8fa..71663d555e 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/cat/indices_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/cat/indices_spec.rb @@ -25,7 +25,8 @@ '_cat/indices', {}, nil, - {} + {}, + { endpoint: 'cat.indices' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/cat/master_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/cat/master_spec.rb index 906c67fe05..5902ac355b 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/cat/master_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/cat/master_spec.rb @@ -25,7 +25,8 @@ '_cat/master', {}, nil, - {} + {}, + { endpoint: 'cat.master' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/cat/nodeattrs_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/cat/nodeattrs_spec.rb index b7caa40ea9..b950e602d8 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/cat/nodeattrs_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/cat/nodeattrs_spec.rb @@ -25,7 +25,8 @@ '_cat/nodeattrs', {}, nil, - {} + {}, + { endpoint: 'cat.nodeattrs' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/cat/nodes_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/cat/nodes_spec.rb index 8c21eeb698..05a05cf75e 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/cat/nodes_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/cat/nodes_spec.rb @@ -25,7 +25,8 @@ '_cat/nodes', {}, nil, - {} + {}, + { endpoint: 'cat.nodes' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/cat/pending_tasks_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/cat/pending_tasks_spec.rb index f61e07ba34..e855aeb32e 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/cat/pending_tasks_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/cat/pending_tasks_spec.rb @@ -25,7 +25,8 @@ '_cat/pending_tasks', {}, nil, - {} + {}, + { endpoint: 'cat.pending_tasks' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/cat/plugins_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/cat/plugins_spec.rb index 186b3a4903..92e7fdf96d 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/cat/plugins_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/cat/plugins_spec.rb @@ -25,7 +25,8 @@ '_cat/plugins', {}, nil, - {} + {}, + { endpoint: 'cat.plugins' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/cat/recovery_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/cat/recovery_spec.rb index c2b08ba799..d9170dbd99 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/cat/recovery_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/cat/recovery_spec.rb @@ -25,7 +25,8 @@ '_cat/recovery', {}, nil, - {} + {}, + { endpoint: 'cat.recovery' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/cat/repositories_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/cat/repositories_spec.rb index ac22e49eef..cccc304b44 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/cat/repositories_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/cat/repositories_spec.rb @@ -25,7 +25,8 @@ '_cat/repositories', {}, nil, - {} + {}, + { endpoint: 'cat.repositories'} ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/cat/segments_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/cat/segments_spec.rb index f85fd7e623..5e0d3c3ce1 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/cat/segments_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/cat/segments_spec.rb @@ -25,7 +25,8 @@ url, {}, nil, - {} + {}, + { endpoint: 'cat.segments' } ] end @@ -42,6 +43,17 @@ '_cat/segments/foo' end + let(:expected_args) do + [ + 'GET', + url, + {}, + nil, + {}, + { defined_params: { index: 'foo' }, endpoint: 'cat.segments' } + ] + end + it 'performs the request' do expect(client_double.cat.segments(index: 'foo')).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/cat/shards_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/cat/shards_spec.rb index acad84f522..a362502706 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/cat/shards_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/cat/shards_spec.rb @@ -25,7 +25,8 @@ '_cat/shards', {}, nil, - {} + {}, + { endpoint: 'cat.shards' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/cat/snapshot_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/cat/snapshot_spec.rb index 476fe1c3e3..59ee655f37 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/cat/snapshot_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/cat/snapshot_spec.rb @@ -25,7 +25,8 @@ '_cat/snapshots/foo', {}, nil, - {} + {}, + { defined_params: { repository: 'foo' }, endpoint: 'cat.snapshots' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/cat/tasks_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/cat/tasks_spec.rb index 5d64e3747b..174bac7439 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/cat/tasks_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/cat/tasks_spec.rb @@ -25,7 +25,8 @@ '_cat/tasks', {}, nil, - {} + {}, + { endpoint: 'cat.tasks' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/cat/templates_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/cat/templates_spec.rb index 102031870a..ad900bb2f6 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/cat/templates_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/cat/templates_spec.rb @@ -25,7 +25,8 @@ '_cat/templates', {}, nil, - {} + {}, + { endpoint: 'cat.templates' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/cat/thread_pool_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/cat/thread_pool_spec.rb index 7ff9f7c374..16e2ed1493 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/cat/thread_pool_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/cat/thread_pool_spec.rb @@ -25,7 +25,8 @@ '_cat/thread_pool', {}, nil, - {} + {}, + { endpoint: 'cat.thread_pool' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/clear_scroll_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/clear_scroll_spec.rb index 9c4fb4c77a..041c13d832 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/clear_scroll_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/clear_scroll_spec.rb @@ -25,7 +25,8 @@ '_search/scroll/abc123', {}, nil, - {} + {}, + { defined_params: { scroll_id: 'abc123' }, endpoint: 'clear_scroll' } ] end @@ -41,7 +42,8 @@ '_search/scroll/abc123,def456', {}, nil, - {} + {}, + { defined_params: { scroll_id: ['abc123', 'def456'] }, endpoint: 'clear_scroll' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/close_point_in_time_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/close_point_in_time_spec.rb index 38af28c4ef..d770830179 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/close_point_in_time_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/close_point_in_time_spec.rb @@ -24,7 +24,8 @@ '_pit', {}, nil, - {} + {}, + { endpoint: 'close_point_in_time' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/cluster/allocation_explain_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/cluster/allocation_explain_spec.rb index 778d53514b..3577130b2c 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/cluster/allocation_explain_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/cluster/allocation_explain_spec.rb @@ -25,7 +25,8 @@ '_cluster/allocation/explain', {}, nil, - {} + {}, + { endpoint: 'cluster.allocation_explain' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/cluster/get_settings_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/cluster/get_settings_spec.rb index 9bf2aca291..6a9434546e 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/cluster/get_settings_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/cluster/get_settings_spec.rb @@ -25,7 +25,8 @@ '_cluster/settings', {}, nil, - {} + {}, + { endpoint: 'cluster.get_settings' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/cluster/health_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/cluster/health_spec.rb index 3ce3b6160b..8461ba018d 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/cluster/health_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/cluster/health_spec.rb @@ -25,7 +25,8 @@ '_cluster/health', {}, nil, - {} + {}, + { endpoint: 'cluster.health' } ] end @@ -41,7 +42,8 @@ '_cluster/health', { level: 'indices' }, nil, - {} + {}, + { endpoint: 'cluster.health' } ] end @@ -58,7 +60,8 @@ '_cluster/health/foo', {}, nil, - {} + {}, + { defined_params: { index: 'foo' }, endpoint: 'cluster.health' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/cluster/info_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/cluster/info_spec.rb index 13d0124eb6..d2db5331c0 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/cluster/info_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/cluster/info_spec.rb @@ -25,7 +25,8 @@ '_info/foo', {}, nil, - {} + {}, + { defined_params: { target: 'foo' }, endpoint: 'cluster.info' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/cluster/pending_tasks_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/cluster/pending_tasks_spec.rb index c4e6017633..bb939ca9d0 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/cluster/pending_tasks_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/cluster/pending_tasks_spec.rb @@ -25,7 +25,8 @@ '_cluster/pending_tasks', {}, nil, - {} + {}, + { endpoint: 'cluster.pending_tasks' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/cluster/put_settings_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/cluster/put_settings_spec.rb index e4671204c3..469d911b89 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/cluster/put_settings_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/cluster/put_settings_spec.rb @@ -25,7 +25,8 @@ '_cluster/settings', {}, {}, - {} + {}, + { endpoint: 'cluster.put_settings' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/cluster/remote_info_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/cluster/remote_info_spec.rb index b3618a29da..1f5cc20bbc 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/cluster/remote_info_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/cluster/remote_info_spec.rb @@ -25,7 +25,8 @@ '_remote/info', {}, nil, - {} + {}, + { endpoint: 'cluster.remote_info' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/cluster/reroute_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/cluster/reroute_spec.rb index 2cf0388cbd..49848ce103 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/cluster/reroute_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/cluster/reroute_spec.rb @@ -25,7 +25,8 @@ '_cluster/reroute', {}, {}, - {} + {}, + { endpoint: 'cluster.reroute' } ] end @@ -41,7 +42,8 @@ '_cluster/reroute', {}, { commands: [ move: { index: 'myindex', shard: 0 }] }, - {} + {}, + { endpoint: 'cluster.reroute' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/cluster/state_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/cluster/state_spec.rb index 1f1852d621..9a62a4fc65 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/cluster/state_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/cluster/state_spec.rb @@ -25,7 +25,8 @@ '_cluster/state', {}, nil, - {} + {}, + { endpoint: 'cluster.state' } ] end @@ -41,7 +42,8 @@ '_cluster/state/foo,bar', {}, nil, - {} + {}, + { defined_params: { metric: ['foo', 'bar']}, endpoint: 'cluster.state' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/cluster/stats_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/cluster/stats_spec.rb index b695f849eb..c18fde3abf 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/cluster/stats_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/cluster/stats_spec.rb @@ -25,7 +25,8 @@ '_cluster/stats', {}, nil, - {} + {}, + { endpoint: 'cluster.stats' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/count_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/count_spec.rb index 06508838f1..e7806501dd 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/count_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/count_spec.rb @@ -24,7 +24,8 @@ '_count', {}, nil, - {} + {}, + { endpoint: 'count' } ] end @@ -39,7 +40,8 @@ 'foo,bar/_count', {}, nil, - {} + {}, + { defined_params: { index: ['foo', 'bar'] }, endpoint: 'count' } ] end @@ -55,7 +57,8 @@ '_count', {}, { match: { foo: 'bar' } }, - {} + {}, + { endpoint: 'count' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/create_document_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/create_document_spec.rb index 51a305e6fb..7175e4f15b 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/create_document_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/create_document_spec.rb @@ -25,7 +25,8 @@ 'foo/_doc/123', { op_type: 'create' }, { foo: 'bar' }, - {} + {}, + { defined_params: { id: '123', index: 'foo' }, endpoint: 'index' } ] end @@ -45,6 +46,17 @@ ] end + let(:expected_args) do + [ + 'PUT', + 'foo/_doc/123', + { op_type: 'create' }, + {}, + {}, + { defined_params: { id: '123', index: 'foo' }, endpoint: 'index' } + ] + end + it 'performs the request' do expect(client_double.create(index: 'foo', id: '123', body: {})).to be_a Elasticsearch::API::Response end @@ -62,6 +74,17 @@ ] end + let(:expected_args) do + [ + 'PUT', + 'foo/_doc/1', + { op_type: 'create' }, + { foo: 'bar' }, + {}, + { defined_params: { id: 1, index: 'foo' }, endpoint: 'index' } + ] + end + it 'updates the arguments with the `op_type`' do expect(client_double.create(index: 'foo', id: 1, body: { foo: 'bar' })).to be_a Elasticsearch::API::Response end @@ -79,6 +102,17 @@ ] end + let(:expected_args) do + [ + 'POST', + 'foo/_doc', + { }, + { foo: 'bar' }, + {}, + { defined_params: { index: 'foo' }, endpoint: 'index' } + ] + end + it 'updates the arguments with the `op_type`' do expect(client_double.create(index: 'foo', body: { foo: 'bar' })).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/dangling_indices/delete_dangling_indices_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/dangling_indices/delete_dangling_indices_spec.rb index 4aaa50e897..95a25c958e 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/dangling_indices/delete_dangling_indices_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/dangling_indices/delete_dangling_indices_spec.rb @@ -24,7 +24,8 @@ '_dangling/foo', {}, nil, - {} + {}, + { defined_params: { index_uuid:'foo' }, endpoint: 'dangling_indices.delete_dangling_index' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/dangling_indices/import_dangling_indices_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/dangling_indices/import_dangling_indices_spec.rb index 7b46f5c17d..86f1da1fb5 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/dangling_indices/import_dangling_indices_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/dangling_indices/import_dangling_indices_spec.rb @@ -24,7 +24,8 @@ '_dangling/foo', {}, nil, - {} + {}, + { defined_params: { index_uuid:'foo' }, endpoint: 'dangling_indices.import_dangling_index' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/dangling_indices/list_dangling_indices_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/dangling_indices/list_dangling_indices_spec.rb index 82f6d896ab..105fbc8fa5 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/dangling_indices/list_dangling_indices_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/dangling_indices/list_dangling_indices_spec.rb @@ -24,7 +24,8 @@ '_dangling', {}, nil, - {} + {}, + { endpoint: 'dangling_indices.list_dangling_indices' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/data_frame/update_data_frame_transform_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/data_frame/update_data_frame_transform_spec.rb index 53e4d4ac4e..ee03bc00ca 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/data_frame/update_data_frame_transform_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/data_frame/update_data_frame_transform_spec.rb @@ -25,7 +25,8 @@ '_transform/foo/_update', params, {}, - {} + {}, + { defined_params: { transform_id: 'foo'}, endpoint: 'transform.update_transform' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/delete_by_query_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/delete_by_query_spec.rb index bf19dcb924..8445e04445 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/delete_by_query_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/delete_by_query_spec.rb @@ -25,7 +25,8 @@ 'foo/_delete_by_query', {}, { term: {} }, - {} + {}, + { defined_params: { index: 'foo' }, endpoint: 'delete_by_query' } ] end @@ -46,7 +47,8 @@ 'foo/_delete_by_query', { q: 'foo:bar' }, { query: 'query' }, - {} + {}, + { defined_params: { index: 'foo' }, endpoint: 'delete_by_query' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/delete_document_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/delete_document_spec.rb index a5fd6652e5..7621060762 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/delete_document_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/delete_document_spec.rb @@ -25,7 +25,8 @@ 'foo/_doc/1', params, nil, - {} + {}, + { defined_params: { id: '1', index: 'foo' }, endpoint: 'delete' } ] end @@ -70,7 +71,8 @@ 'foo%5Ebar/_doc/1', params, nil, - {} + {}, + { defined_params: { id: 1, index: 'foo^bar' }, endpoint: 'delete' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/delete_script_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/delete_script_spec.rb index 8bcc510c77..ec243185d1 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/delete_script_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/delete_script_spec.rb @@ -26,7 +26,8 @@ '_scripts/foo', {}, nil, - {} + {}, + { defined_params: { id: 'foo' }, endpoint: 'delete_script' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/esql/query_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/esql/query_spec.rb index 0a28b94056..681ecedd4a 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/esql/query_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/esql/query_spec.rb @@ -24,7 +24,8 @@ '_query', {}, {}, - {} + {}, + { endpoint: 'esql.query' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/exists_document_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/exists_document_spec.rb index cd394d88e5..bd4ed1e402 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/exists_document_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/exists_document_spec.rb @@ -25,7 +25,8 @@ url, params, nil, - {} + {}, + { defined_params: { id: '1', index: 'foo' }, endpoint: 'exists' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/explain_document_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/explain_document_spec.rb index 157f06d708..50f6ce7f88 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/explain_document_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/explain_document_spec.rb @@ -24,7 +24,8 @@ url, params, body, - {} + {}, + { defined_params: { id: 1, index: 'foo' }, endpoint: 'explain' } ] end @@ -68,6 +69,17 @@ { q: 'abc123' } end + let(:expected_args) do + [ + method, + url, + params, + body, + {}, + { defined_params: { id: '1', index: 'foo' }, endpoint: 'explain' } + ] + end + let(:body) do nil end @@ -82,6 +94,17 @@ { query: { match: {} } } end + let(:expected_args) do + [ + method, + url, + params, + body, + {}, + { defined_params: { id: '1', index: 'foo' }, endpoint: 'explain' } + ] + end + it 'passes the query definition' do expect(client_double.explain(index: 'foo', id: '1', body: { query: { match: {} } })).to be_a Elasticsearch::API::Response end @@ -92,6 +115,17 @@ 'foo%5Ebar/_explain/1' end + let(:expected_args) do + [ + method, + url, + params, + body, + {}, + { defined_params: { id: '1', index: 'foo^bar' }, endpoint: 'explain' } + ] + end + it 'URL-escapes the parts' do expect(client_double.explain(index: 'foo^bar', id: '1', body: { })).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/features/get_features_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/features/get_features_spec.rb index d83ce6c00e..1fd5529b9e 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/features/get_features_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/features/get_features_spec.rb @@ -24,7 +24,8 @@ '_features', {}, nil, - {} + {}, + { endpoint: 'features.get_features' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/features/reset_features_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/features/reset_features_spec.rb index e3be261c34..950b568f1f 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/features/reset_features_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/features/reset_features_spec.rb @@ -24,7 +24,8 @@ '_features/_reset', {}, nil, - {} + {}, + { endpoint: 'features.reset_features' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/field_caps_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/field_caps_spec.rb index 8799ccda84..e7c905a27e 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/field_caps_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/field_caps_spec.rb @@ -25,7 +25,8 @@ 'foo/_field_caps', { fields: 'bar' }, nil, - {} + {}, + { defined_params: { index: 'foo' }, endpoint: 'field_caps' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/fleet/global_checkpoints_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/fleet/global_checkpoints_spec.rb index d5eb4de812..0f934ad019 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/fleet/global_checkpoints_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/fleet/global_checkpoints_spec.rb @@ -24,7 +24,8 @@ 'foo/_fleet/global_checkpoints', {}, nil, - {} + {}, + { defined_params: { index: 'foo' }, endpoint: 'fleet.global_checkpoints' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/fleet/msearch_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/fleet/msearch_spec.rb index 2ac7177a9b..af44de93e8 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/fleet/msearch_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/fleet/msearch_spec.rb @@ -24,7 +24,8 @@ '_fleet/_fleet_msearch', {}, {}, - { 'Content-Type' => 'application/x-ndjson' } + { 'Content-Type' => 'application/x-ndjson' }, + { endpoint: 'fleet.msearch' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/fleet/search_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/fleet/search_spec.rb index 45e0b8b4a3..6f49db20b4 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/fleet/search_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/fleet/search_spec.rb @@ -24,7 +24,8 @@ 'foo/_fleet/_fleet_search', {}, nil, - {} + {}, + { defined_params: { index: 'foo' }, endpoint: 'fleet.search' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/get_document_source_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/get_document_source_spec.rb index 29dc28500c..6c655ad76f 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/get_document_source_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/get_document_source_spec.rb @@ -25,7 +25,8 @@ url, params, nil, - {} + {}, + { defined_params: { id: '1', index: 'foo' }, endpoint: 'get_source' } ] end @@ -69,6 +70,17 @@ 'foo%5Ebar/_source/1' end + let(:expected_args) do + [ + 'GET', + url, + params, + nil, + {}, + { defined_params: { id: '1', index: 'foo^bar' }, endpoint: 'get_source' } + ] + end + it 'URL-escapes the parts' do expect(client_double.get_source(index: 'foo^bar', id: '1')).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/get_document_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/get_document_spec.rb index e5335e723e..e0951a12bf 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/get_document_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/get_document_spec.rb @@ -25,7 +25,8 @@ url, params, nil, - {} + {}, + { defined_params: { id: '1', index: 'foo' }, endpoint: 'get' } ] end @@ -68,6 +69,17 @@ 'foo%5Ebar/_doc/1' end + let(:expected_args) do + [ + 'GET', + url, + params, + nil, + {}, + { defined_params: { id: '1', index: 'foo^bar' }, endpoint: 'get' } + ] + end + it 'URL-escapes the parts' do expect(client_double.get(index: 'foo^bar', id: '1')).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/get_script_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/get_script_spec.rb index ecd33cbaea..3c8cac827d 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/get_script_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/get_script_spec.rb @@ -25,7 +25,8 @@ url, params, nil, - {} + {}, + { defined_params: { id: 'foo' }, endpoint: 'get_script' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/health_report_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/health_report_spec.rb index a268c98e4b..53819fc457 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/health_report_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/health_report_spec.rb @@ -24,7 +24,8 @@ '_health_report', {}, nil, - {} + {}, + { endpoint: 'health_report' } ] end @@ -39,7 +40,8 @@ '_health_report/foo', {}, nil, - {} + {}, + { defined_params: { feature: 'foo' }, endpoint: 'health_report' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/index_document_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/index_document_spec.rb index 0fef9c2504..b6f5abed74 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/index_document_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/index_document_spec.rb @@ -25,7 +25,8 @@ url, params, body, - {} + {}, + { defined_params: { index: 'foo' }, endpoint: 'index' } ] end @@ -68,6 +69,17 @@ 'foo/_doc/1' end + let(:expected_args) do + [ + request_type, + url, + params, + body, + {}, + { defined_params: { id: '1', index: 'foo' }, endpoint: 'index' } + ] + end + it 'performs the request' do expect(client_double.index(index: 'foo', id: '1', body: body)).to be_a Elasticsearch::API::Response end @@ -103,6 +115,17 @@ { op_type: 'create' } end + let(:expected_args) do + [ + request_type, + url, + params, + body, + {}, + { defined_params: { id: '1', index: 'foo' }, endpoint: 'index' } + ] + end + it 'passes the URL params' do expect(client_double.index(index: 'foo', id: '1', op_type: 'create', body: body)).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/index_lifecycle_management/migrate_to_data_tiers_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/index_lifecycle_management/migrate_to_data_tiers_spec.rb index e1bc703ea1..83d20814a1 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/index_lifecycle_management/migrate_to_data_tiers_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/index_lifecycle_management/migrate_to_data_tiers_spec.rb @@ -24,7 +24,8 @@ '_ilm/migrate_to_data_tiers', {}, nil, - {} + {}, + { endpoint: 'ilm.migrate_to_data_tiers' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/add_block_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/add_block_spec.rb index 8373010f3a..efbbe1aa39 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/add_block_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/add_block_spec.rb @@ -24,7 +24,9 @@ url, {}, nil, - {} + {}, + { defined_params: { block: 'test_block', index: 'test_index' }, + endpoint: 'indices.add_block'} ] end let(:url) { "#{index}/_block/#{block}"} diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/analyze_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/analyze_spec.rb index d45de49ba5..c23218b8b7 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/analyze_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/analyze_spec.rb @@ -24,7 +24,8 @@ url, params, body, - {} + {}, + { endpoint: 'indices.analyze' } ] end let(:method) { 'GET' } @@ -50,6 +51,17 @@ 'foo/_analyze' end + let(:expected_args) do + [ + method, + url, + params, + body, + {}, + { defined_params: { index: 'foo' }, endpoint: 'indices.analyze' } + ] + end + it 'performs the request' do expect(client_double.indices.analyze(index: 'foo')).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/clear_cache_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/clear_cache_spec.rb index 580f7f6996..c5797ef680 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/clear_cache_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/clear_cache_spec.rb @@ -25,7 +25,8 @@ url, params, nil, - {} + {}, + { endpoint: 'indices.clear_cache' } ] end @@ -47,6 +48,17 @@ 'foo/_cache/clear' end + let(:expected_args) do + [ + 'POST', + url, + params, + nil, + {}, + { defined_params: { index: 'foo' }, endpoint: 'indices.clear_cache' } + ] + end + it 'performs the request' do expect(client_double.indices.clear_cache(index: 'foo')).to be_a Elasticsearch::API::Response end @@ -69,6 +81,17 @@ 'foo%5Ebar/_cache/clear' end + let(:expected_args) do + [ + 'POST', + url, + params, + nil, + {}, + { defined_params: { index: 'foo^bar' }, endpoint: 'indices.clear_cache' } + ] + end + let(:params) do { } end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/clone_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/clone_spec.rb index 853f0810e2..ab080402ca 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/clone_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/clone_spec.rb @@ -25,7 +25,9 @@ url, params, body, - {} + {}, + { defined_params: { index: 'my_source_index', target: 'my_target_index' }, + endpoint: 'indices.clone' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/close_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/close_spec.rb index 300ad0c0e9..a0f4b2f837 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/close_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/close_spec.rb @@ -25,7 +25,8 @@ url, params, nil, - {} + {}, + { defined_params: { index: 'foo' }, endpoint: 'indices.close' } ] end @@ -78,6 +79,17 @@ 'foo%5Ebar/_close' end + let(:expected_args) do + [ + 'POST', + url, + params, + nil, + {}, + { defined_params: { index: 'foo^bar' }, endpoint: 'indices.close' } + ] + end + it 'performs the request' do expect(client_double.indices.close(index: 'foo^bar')).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/create_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/create_spec.rb index ea11591bc5..719b493ef9 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/create_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/create_spec.rb @@ -25,7 +25,8 @@ url, params, nil, - {} + {}, + { defined_params: { index: 'foo' }, endpoint: 'indices.create' } ] end @@ -78,6 +79,17 @@ 'foo%5Ebar' end + let(:expected_args) do + [ + 'PUT', + url, + params, + nil, + {}, + { defined_params: { index: 'foo^bar' }, endpoint: 'indices.create' } + ] + end + it 'performs the request' do expect(client_double.indices.create(index: 'foo^bar')).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/data_streams_stats_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/data_streams_stats_spec.rb index 25fae874e6..c3f271556d 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/data_streams_stats_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/data_streams_stats_spec.rb @@ -24,7 +24,8 @@ url, params, nil, - {} + {}, + { endpoint: 'indices.data_streams_stats' } ] end @@ -51,6 +52,17 @@ '_data_stream/foo/_stats' end + let(:expected_args) do + [ + 'GET', + url, + params, + nil, + {}, + { defined_params: { name: 'foo' }, endpoint: 'indices.data_streams_stats' } + ] + end + it 'performs the request' do expect(client_double.indices.data_streams_stats(name: 'foo')).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/delete_alias_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/delete_alias_spec.rb index 3291a6f22c..fec80ef9d7 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/delete_alias_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/delete_alias_spec.rb @@ -25,7 +25,9 @@ url, params, nil, - {} + {}, + { defined_params: { index: 'foo', name: 'bar'}, + endpoint: 'indices.delete_alias' } ] end @@ -76,6 +78,18 @@ 'foo%5Ebar/_aliases/bar%2Fbam' end + let(:expected_args) do + [ + 'DELETE', + url, + params, + nil, + {}, + { defined_params: { index: 'foo^bar', name: 'bar/bam'}, + endpoint: 'indices.delete_alias' } + ] + end + it 'performs the request' do expect(client_double.indices.delete_alias(index: 'foo^bar', name: 'bar/bam')).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/delete_data_lifecycle_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/delete_data_lifecycle_spec.rb index 8c31a867f3..f8476c97b4 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/delete_data_lifecycle_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/delete_data_lifecycle_spec.rb @@ -24,7 +24,8 @@ '_data_stream/foo/_lifecycle', {}, nil, - {} + {}, + { defined_params: { name: 'foo' }, endpoint: 'indices.delete_data_lifecycle' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/delete_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/delete_spec.rb index 9025baba79..fd7742515b 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/delete_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/delete_spec.rb @@ -25,7 +25,8 @@ url, params, nil, - {} + {}, + { defined_params: { index: 'foo' }, endpoint: 'indices.delete' } ] end @@ -47,6 +48,17 @@ 'foo,bar' end + let(:expected_args) do + [ + 'DELETE', + url, + params, + nil, + {}, + { defined_params: { index: ['foo', 'bar'] }, endpoint: 'indices.delete' } + ] + end + it 'performs the request' do expect(client_double.indices.delete(index: ['foo', 'bar'])).to be_a Elasticsearch::API::Response end @@ -69,6 +81,17 @@ 'foo%5Ebar' end + let(:expected_args) do + [ + 'DELETE', + url, + params, + nil, + {}, + { defined_params: { index: 'foo^bar' }, endpoint: 'indices.delete' } + ] + end + it 'performs the request' do expect(client_double.indices.delete(index: 'foo^bar')).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/delete_template_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/delete_template_spec.rb index d616c7fc4e..5949ff43d2 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/delete_template_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/delete_template_spec.rb @@ -25,7 +25,8 @@ url, params, nil, - {} + {}, + { defined_params: { name: 'foo' }, endpoint: 'indices.delete_template' } ] end @@ -47,6 +48,17 @@ '_template/foo%5Ebar' end + let(:expected_args) do + [ + 'DELETE', + url, + params, + nil, + {}, + { defined_params: { name: 'foo^bar' }, endpoint: 'indices.delete_template' } + ] + end + it 'performs the request' do expect(client_double.indices.delete_template(name: 'foo^bar')).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/disk_usage_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/disk_usage_spec.rb index c674ab4a2f..e1001a8ff0 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/disk_usage_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/disk_usage_spec.rb @@ -24,7 +24,8 @@ "#{index}/_disk_usage", {}, nil, - {} + {}, + { defined_params: { index: 'foo' }, endpoint: 'indices.disk_usage' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/exists_alias_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/exists_alias_spec.rb index 6683ea8f2d..e1707a5413 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/exists_alias_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/exists_alias_spec.rb @@ -25,7 +25,8 @@ url, params, nil, - {} + {}, + { defined_params: { name: 'foo'}, endpoint: 'indices.exists_alias' } ] end @@ -51,6 +52,18 @@ 'foo,bar/_alias/bam' end + let(:expected_args) do + [ + 'HEAD', + url, + params, + nil, + {}, + { defined_params: { index: ['foo', 'bar'], name: 'bam'}, + endpoint: 'indices.exists_alias' } + ] + end + it 'performs the request' do expect(client_double.indices.exists_alias(index: ['foo','bar'], name: 'bam')).to eq(true) end @@ -62,6 +75,18 @@ 'foo%5Ebar/_alias/bar%2Fbam' end + let(:expected_args) do + [ + 'HEAD', + url, + params, + nil, + {}, + { defined_params: { index: 'foo^bar', name: 'bar/bam'}, + endpoint: 'indices.exists_alias' } + ] + end + it 'performs the request' do expect(client_double.indices.exists_alias(index: 'foo^bar', name: 'bar/bam')).to eq(true) end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/exists_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/exists_spec.rb index 2637686c4f..9a1f635dee 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/exists_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/exists_spec.rb @@ -25,7 +25,8 @@ url, params, nil, - {} + {}, + { defined_params: { index: 'foo' }, endpoint: 'indices.exists' } ] end @@ -51,6 +52,17 @@ 'foo,bar' end + let(:expected_args) do + [ + 'HEAD', + url, + params, + nil, + {}, + { defined_params: { index: ['foo','bar'] }, endpoint: 'indices.exists' } + ] + end + it 'performs the request' do expect(client_double.indices.exists(index: ['foo','bar'])).to eq(true) end @@ -62,6 +74,17 @@ 'foo%5Ebar' end + let(:expected_args) do + [ + 'HEAD', + url, + params, + nil, + {}, + { defined_params: { index: 'foo^bar' }, endpoint: 'indices.exists' } + ] + end + it 'performs the request' do expect(client_double.indices.exists(index: 'foo^bar')).to eq(true) end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/exists_template_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/exists_template_spec.rb index 19eda3b383..0048f7ca24 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/exists_template_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/exists_template_spec.rb @@ -25,7 +25,8 @@ url, params, nil, - {} + {}, + { defined_params: { name: 'foo' }, endpoint: 'indices.exists_template' } ] end @@ -47,6 +48,17 @@ '_template/bar%2Fbam' end + let(:expected_args) do + [ + 'HEAD', + url, + params, + nil, + {}, + { defined_params: { name: 'bar/bam' }, endpoint: 'indices.exists_template' } + ] + end + it 'performs the request' do expect(client_double.indices.exists_template(name: 'bar/bam')).to eq(true) end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/explain_data_lifecycle_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/explain_data_lifecycle_spec.rb index 06ff6b0362..9b072557d2 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/explain_data_lifecycle_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/explain_data_lifecycle_spec.rb @@ -24,7 +24,9 @@ 'foo/_lifecycle/explain', {}, nil, - {} + {}, + { defined_params: { index: 'foo' }, + endpoint: 'indices.explain_data_lifecycle' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/field_usage_stats_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/field_usage_stats_spec.rb index 970811655e..cf84578807 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/field_usage_stats_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/field_usage_stats_spec.rb @@ -24,7 +24,8 @@ 'foo/_field_usage_stats', {}, nil, - {} + {}, + { defined_params: { index: 'foo' }, endpoint: 'indices.field_usage_stats' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/flush_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/flush_spec.rb index ce21e4b98a..3f81b40628 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/flush_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/flush_spec.rb @@ -25,7 +25,8 @@ url, params, nil, - {} + {}, + { endpoint: 'indices.flush' } ] end @@ -47,6 +48,17 @@ 'foo/_flush' end + let(:expected_args) do + [ + 'POST', + url, + params, + nil, + {}, + { defined_params: { index: 'foo' }, endpoint: 'indices.flush' } + ] + end + it 'performs the request' do expect(client_double.indices.flush(index: 'foo')).to be_a Elasticsearch::API::Response end @@ -58,6 +70,17 @@ 'foo,bar/_flush' end + let(:expected_args) do + [ + 'POST', + url, + params, + nil, + {}, + { defined_params: { index: ['foo','bar'] }, endpoint: 'indices.flush' } + ] + end + it 'performs the request' do expect(client_double.indices.flush(index: ['foo','bar'])).to be_a Elasticsearch::API::Response end @@ -69,6 +92,17 @@ 'foo%5Ebar/_flush' end + let(:expected_args) do + [ + 'POST', + url, + params, + nil, + {}, + { defined_params: { index: 'foo^bar' }, endpoint: 'indices.flush' } + ] + end + it 'performs the request' do expect(client_double.indices.flush(index: 'foo^bar')).to be_a Elasticsearch::API::Response end @@ -80,6 +114,17 @@ 'foo/_flush' end + let(:expected_args) do + [ + 'POST', + url, + params, + nil, + {}, + { defined_params: { index: 'foo' }, endpoint: 'indices.flush' } + ] + end + let(:params) do { ignore_unavailable: true } end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/forcemerge_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/forcemerge_spec.rb index 574d63d229..e64284e9b4 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/forcemerge_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/forcemerge_spec.rb @@ -25,7 +25,8 @@ '_forcemerge', {}, nil, - {} + {}, + { endpoint: 'indices.forcemerge' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/get_alias_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/get_alias_spec.rb index 7d99384beb..b1000df66f 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/get_alias_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/get_alias_spec.rb @@ -25,7 +25,8 @@ url, {}, nil, - {} + {}, + { defined_params: { name: 'foo' }, endpoint: 'indices.get_alias' } ] end @@ -43,6 +44,18 @@ 'foo,bar/_alias/bam' end + let(:expected_args) do + [ + 'GET', + url, + {}, + nil, + {}, + { defined_params: { index: ['foo', 'bar'], name: 'bam' }, endpoint: 'indices.get_alias' } + ] + end + + it 'performs the request' do expect(client_double.indices.get_alias(index: ['foo','bar'], name: 'bam')).to be_a Elasticsearch::API::Response end @@ -54,6 +67,17 @@ 'foo%5Ebar/_alias/bar%2Fbam' end + let(:expected_args) do + [ + 'GET', + url, + {}, + nil, + {}, + { defined_params: { index: 'foo^bar', name: 'bar/bam' }, endpoint: 'indices.get_alias' } + ] + end + it 'performs the request' do expect(client_double.indices.get_alias(index: 'foo^bar', name: 'bar/bam')).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/get_data_lifecycle_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/get_data_lifecycle_spec.rb index d61c6274d1..5912ddfa10 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/get_data_lifecycle_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/get_data_lifecycle_spec.rb @@ -24,7 +24,8 @@ '_data_stream/foo/_lifecycle', {}, nil, - {} + {}, + { defined_params: { name: 'foo' }, endpoint: 'indices.get_data_lifecycle' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/get_field_mapping_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/get_field_mapping_spec.rb index 7687fb8319..cd12bf16bc 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/get_field_mapping_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/get_field_mapping_spec.rb @@ -25,7 +25,8 @@ url, {}, nil, - {} + {}, + { endpoint: 'indices.get_field_mapping' } ] end @@ -43,6 +44,17 @@ 'foo/_mapping/field/bam' end + let(:expected_args) do + [ + 'GET', + url, + {}, + nil, + {}, + { defined_params: { index: 'foo' }, endpoint: 'indices.get_field_mapping' } + ] + end + it 'performs the request' do expect(client_double.indices.get_field_mapping(index: 'foo', field: 'bam')).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/get_mapping_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/get_mapping_spec.rb index 20f95460ef..5a6f018d9d 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/get_mapping_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/get_mapping_spec.rb @@ -24,7 +24,8 @@ url, {}, nil, - {} + {}, + { endpoint: 'indices.get_mapping' } ] end @@ -41,6 +42,17 @@ 'foo/_mapping' end + let(:expected_args) do + [ + 'GET', + url, + {}, + nil, + {}, + { defined_params: { index: 'foo' }, endpoint: 'indices.get_mapping' } + ] + end + it 'performs the request' do expect(client_double.indices.get_mapping(index: 'foo')).to be_a Elasticsearch::API::Response end @@ -51,6 +63,17 @@ 'foo,bar/_mapping' end + let(:expected_args) do + [ + 'GET', + url, + {}, + nil, + {}, + { defined_params: { index: ['foo', 'bar'] }, endpoint: 'indices.get_mapping' } + ] + end + it 'performs the request' do expect(client_double.indices.get_mapping(index: ['foo', 'bar'])).to be_a Elasticsearch::API::Response end @@ -61,6 +84,17 @@ 'foo%5Ebar/_mapping' end + let(:expected_args) do + [ + 'GET', + url, + {}, + nil, + {}, + { defined_params: { index: 'foo^bar' }, endpoint: 'indices.get_mapping' } + ] + end + it 'performs the request' do expect(client_double.indices.get_mapping(index: 'foo^bar')).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/get_settings_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/get_settings_spec.rb index c603a589c0..9d6bb92f22 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/get_settings_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/get_settings_spec.rb @@ -25,7 +25,8 @@ url, {}, nil, - {} + {}, + { endpoint: 'indices.get_settings' } ] end @@ -43,6 +44,17 @@ 'foo/_settings' end + let(:expected_args) do + [ + 'GET', + url, + {}, + nil, + {}, + { defined_params: { index: 'foo' }, endpoint: 'indices.get_settings' } + ] + end + it 'performs the request' do expect(client_double.indices.get_settings(index: 'foo')).to be_a Elasticsearch::API::Response end @@ -54,6 +66,17 @@ 'foo/_settings/foo.bar' end + let(:expected_args) do + [ + 'GET', + url, + {}, + nil, + {}, + { defined_params: { index: 'foo', name: 'foo.bar' }, endpoint: 'indices.get_settings' } + ] + end + it 'performs the request' do expect(client_double.indices.get_settings(index: 'foo', name: 'foo.bar')).to be_a Elasticsearch::API::Response end @@ -65,6 +88,17 @@ 'foo%5Ebar/_settings' end + let(:expected_args) do + [ + 'GET', + url, + {}, + nil, + {}, + { defined_params: { index: 'foo^bar' }, endpoint: 'indices.get_settings' } + ] + end + it 'performs the request' do expect(client_double.indices.get_settings(index: 'foo^bar')).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/get_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/get_spec.rb index f22b538982..8d38d465a2 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/get_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/get_spec.rb @@ -25,7 +25,8 @@ url, params, nil, - {} + {}, + { defined_params: { index: 'foo' }, endpoint: 'indices.get' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/open_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/open_spec.rb index a620efa0e4..3b3412a2b6 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/open_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/open_spec.rb @@ -25,7 +25,8 @@ url, params, nil, - {} + {}, + { defined_params: { index: 'foo' }, endpoint: 'indices.open' } ] end @@ -58,6 +59,17 @@ 'foo%5Ebar/_open' end + let(:expected_args) do + [ + 'POST', + url, + params, + nil, + {}, + { defined_params: { index: 'foo^bar' }, endpoint: 'indices.open' } + ] + end + it 'performs the request' do expect(client_double.indices.open(index: 'foo^bar')).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/put_alias_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/put_alias_spec.rb index 9cda71ae2b..12a1f71dd2 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/put_alias_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/put_alias_spec.rb @@ -25,7 +25,9 @@ url, {}, body, - {} + {}, + { defined_params: { index: 'foo', name: 'bar' }, + endpoint: 'indices.put_alias' } ] end @@ -71,6 +73,18 @@ 'foo,bar/_aliases/bam' end + let(:expected_args) do + [ + 'PUT', + url, + {}, + body, + {}, + { defined_params: { index: ['foo','bar'], name: 'bam' }, + endpoint: 'indices.put_alias' } + ] + end + it 'performs the request' do expect(client_double.indices.put_alias(index: ['foo','bar'], name: 'bam')).to be_a Elasticsearch::API::Response end @@ -82,6 +96,18 @@ 'foo%5Ebar/_aliases/bar%2Fbam' end + let(:expected_args) do + [ + 'PUT', + url, + {}, + body, + {}, + { defined_params: { index: 'foo^bar', name: 'bar/bam' }, + endpoint: 'indices.put_alias' } + ] + end + it 'performs the request' do expect(client_double.indices.put_alias(index: 'foo^bar', name: 'bar/bam')).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/put_data_lifecycle_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/put_data_lifecycle_spec.rb index 233788dbc5..fedb498df3 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/put_data_lifecycle_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/put_data_lifecycle_spec.rb @@ -24,7 +24,8 @@ '_data_stream/foo/_lifecycle', {}, nil, - {} + {}, + { defined_params: { name: 'foo' }, endpoint: 'indices.put_data_lifecycle' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/put_mapping_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/put_mapping_spec.rb index ccd40712ee..ddce002359 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/put_mapping_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/put_mapping_spec.rb @@ -24,7 +24,8 @@ url, {}, body, - {} + {}, + { defined_params: { index: 'foo' }, endpoint: 'indices.put_mapping' } ] end @@ -79,6 +80,17 @@ 'foo,bar/_mapping' end + let(:expected_args) do + [ + 'PUT', + url, + {}, + body, + {}, + { defined_params: { index: ['foo','bar'] }, endpoint: 'indices.put_mapping' } + ] + end + it 'performs the request' do expect(client_double.indices.put_mapping(index: ['foo','bar'], body: {})).to be_a Elasticsearch::API::Response end @@ -89,6 +101,17 @@ 'foo%5Ebar/_mapping' end + let(:expected_args) do + [ + 'PUT', + url, + {}, + body, + {}, + { defined_params: { index: 'foo^bar' }, endpoint: 'indices.put_mapping' } + ] + end + it 'performs the request' do expect(client_double.indices.put_mapping(index: 'foo^bar', body: {})).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/put_settings_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/put_settings_spec.rb index 27c43cd690..ef4009bc6e 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/put_settings_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/put_settings_spec.rb @@ -25,7 +25,8 @@ url, params, body, - {} + {}, + { endpoint: 'indices.put_settings' } ] end @@ -68,6 +69,17 @@ 'foo/_settings' end + let(:expected_args) do + [ + 'PUT', + url, + params, + body, + {}, + { defined_params: { index: 'foo' }, endpoint: 'indices.put_settings' } + ] + end + it 'performs the request' do expect(client_double.indices.put_settings(index: 'foo', flat_settings: true, body: {})).to be_a Elasticsearch::API::Response end @@ -79,6 +91,17 @@ 'foo/_settings' end + let(:expected_args) do + [ + 'PUT', + url, + params, + body, + {}, + { defined_params: { index: 'foo' }, endpoint: 'indices.put_settings' } + ] + end + it 'performs the request' do expect(client_double.indices.put_settings(index: 'foo', body: {})).to be_a Elasticsearch::API::Response end @@ -90,6 +113,17 @@ 'foo,bar/_settings' end + let(:expected_args) do + [ + 'PUT', + url, + params, + body, + {}, + { defined_params: { index: ['foo','bar'] }, endpoint: 'indices.put_settings' } + ] + end + it 'performs the request' do expect(client_double.indices.put_settings(index: ['foo','bar'], body: {})).to be_a Elasticsearch::API::Response end @@ -101,6 +135,17 @@ 'foo%5Ebar/_settings' end + let(:expected_args) do + [ + 'PUT', + url, + params, + body, + {}, + { defined_params: { index: 'foo^bar' }, endpoint: 'indices.put_settings' } + ] + end + it 'performs the request' do expect(client_double.indices.put_settings(index: 'foo^bar', body: {})).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/put_template_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/put_template_spec.rb index cba8aa18f5..a076da4e93 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/put_template_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/put_template_spec.rb @@ -25,7 +25,8 @@ url, params, body, - {} + {}, + { defined_params: { name: 'foo' }, endpoint: 'indices.put_template' } ] end @@ -100,6 +101,17 @@ {} end + let(:expected_args) do + [ + 'PUT', + url, + params, + body, + {}, + { defined_params: { name: 'foo^bar' }, endpoint: 'indices.put_template' } + ] + end + it 'performs the request' do expect(client_double.indices.put_template(name: 'foo^bar', body: {})).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/recovery_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/recovery_spec.rb index 365b11d716..cc9605dd43 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/recovery_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/recovery_spec.rb @@ -25,7 +25,8 @@ 'foo/_recovery', {}, nil, - {} + {}, + { defined_params: { index: 'foo' }, endpoint: 'indices.recovery' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/refresh_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/refresh_spec.rb index 678accbacc..970cda977d 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/refresh_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/refresh_spec.rb @@ -25,7 +25,8 @@ url, params, body, - {} + {}, + { endpoint: 'indices.refresh' } ] end @@ -51,6 +52,17 @@ 'foo/_refresh' end + let(:expected_args) do + [ + 'POST', + url, + params, + body, + {}, + { defined_params: { index: 'foo' }, endpoint: 'indices.refresh' } + ] + end + it 'performs the request' do expect(client_double.indices.refresh(index: 'foo')).to be_a Elasticsearch::API::Response end @@ -62,6 +74,17 @@ 'foo,bar/_refresh' end + let(:expected_args) do + [ + 'POST', + url, + params, + body, + {}, + { defined_params: { index: ['foo', 'bar'] }, endpoint: 'indices.refresh' } + ] + end + it 'performs the request' do expect(client_double.indices.refresh(index: ['foo', 'bar'])).to be_a Elasticsearch::API::Response end @@ -73,6 +96,17 @@ 'foo,bar/_refresh' end + let(:expected_args) do + [ + 'POST', + url, + params, + body, + {}, + { defined_params: { index: 'foo,bar' }, endpoint: 'indices.refresh' } + ] + end + it 'performs the request' do expect(client_double.indices.refresh(index: 'foo,bar')).to be_a Elasticsearch::API::Response end @@ -84,6 +118,17 @@ 'foo%5Ebar/_refresh' end + let(:expected_args) do + [ + 'POST', + url, + params, + body, + {}, + { defined_params: { index: 'foo^bar' }, endpoint: 'indices.refresh' } + ] + end + it 'performs the request' do expect(client_double.indices.refresh(index: 'foo^bar')).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/rollover_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/rollover_spec.rb index 70346ac04e..67a748a257 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/rollover_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/rollover_spec.rb @@ -25,7 +25,8 @@ url, params, body, - {} + {}, + { defined_params: { alias: 'foo' }, endpoint: 'indices.rollover' } ] end @@ -51,6 +52,17 @@ 'foo/_rollover/bar' end + let(:expected_args) do + [ + 'POST', + url, + params, + body, + {}, + { defined_params: { alias: 'foo', new_index: 'bar' }, endpoint: 'indices.rollover' } + ] + end + it 'performs the request' do expect(client_double.indices.rollover(alias: 'foo', new_index: 'bar')).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/segments_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/segments_spec.rb index 49293e444c..aa2001b95d 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/segments_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/segments_spec.rb @@ -25,7 +25,8 @@ url, params, body, - {} + {}, + { endpoint: 'indices.segments' } ] end @@ -51,6 +52,17 @@ 'foo/_segments' end + let(:expected_args) do + [ + 'GET', + url, + params, + body, + {}, + { defined_params: { index: 'foo' }, endpoint: 'indices.segments' } + ] + end + it 'performs the request' do expect(client_double.indices.segments(index: 'foo')).to be_a Elasticsearch::API::Response end @@ -62,6 +74,17 @@ 'foo,bar/_segments' end + let(:expected_args) do + [ + 'GET', + url, + params, + body, + {}, + { defined_params: { index: ['foo', 'bar'] }, endpoint: 'indices.segments' } + ] + end + it 'performs the request' do expect(client_double.indices.segments(index: ['foo', 'bar'])).to be_a Elasticsearch::API::Response end @@ -73,6 +96,17 @@ 'foo,bar/_segments' end + let(:expected_args) do + [ + 'GET', + url, + params, + body, + {}, + { defined_params: { index: 'foo,bar' }, endpoint: 'indices.segments' } + ] + end + it 'performs the request' do expect(client_double.indices.segments(index: 'foo,bar')).to be_a Elasticsearch::API::Response end @@ -84,6 +118,17 @@ 'foo%5Ebar/_segments' end + let(:expected_args) do + [ + 'GET', + url, + params, + body, + {}, + { defined_params: { index: 'foo^bar' }, endpoint: 'indices.segments' } + ] + end + it 'performs the request' do expect(client_double.indices.segments(index: 'foo^bar')).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/shard_stores_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/shard_stores_spec.rb index a0eb410aa0..82a0eccda3 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/shard_stores_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/shard_stores_spec.rb @@ -25,7 +25,8 @@ '_shard_stores', {}, nil, - {} + {}, + { endpoint: 'indices.shard_stores' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/shrink_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/shrink_spec.rb index 36f15010c0..73e2682716 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/shrink_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/shrink_spec.rb @@ -25,7 +25,9 @@ 'foo/_shrink/bar', {}, nil, - {} + {}, + { defined_params: { index: 'foo', target: 'bar' }, + endpoint: 'indices.shrink' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/split_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/split_spec.rb index eeb1fd55b1..ba08085bdd 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/split_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/split_spec.rb @@ -25,7 +25,9 @@ 'foo/_split/bar', {}, nil, - {} + {}, + { defined_params: { index: 'foo', target: 'bar' }, + endpoint:'indices.split' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/stats_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/stats_spec.rb index 934faba7e2..91b0ed7bb2 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/stats_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/stats_spec.rb @@ -25,7 +25,8 @@ url, params, body, - {} + {}, + { endpoint: 'indices.stats' } ] end @@ -50,6 +51,17 @@ 'foo/_stats' end + let(:expected_args) do + [ + 'GET', + url, + params, + body, + {}, + { defined_params: { index: 'foo' }, endpoint: 'indices.stats' } + ] + end + it 'performs the request' do expect(client_double.indices.stats(index: 'foo')).to be_a Elasticsearch::API::Response end @@ -60,6 +72,17 @@ 'foo,bar/_stats' end + let(:expected_args) do + [ + 'GET', + url, + params, + body, + {}, + { defined_params: { index: ['foo', 'bar'] }, endpoint: 'indices.stats' } + ] + end + it 'performs the request' do expect(client_double.indices.stats(index: ['foo', 'bar'])).to be_a Elasticsearch::API::Response end @@ -70,6 +93,17 @@ 'foo,bar/_stats' end + let(:expected_args) do + [ + 'GET', + url, + params, + body, + {}, + { defined_params: { index: 'foo,bar' }, endpoint: 'indices.stats' } + ] + end + it 'performs the request' do expect(client_double.indices.stats(index: 'foo,bar')).to be_a Elasticsearch::API::Response end @@ -84,6 +118,17 @@ 'foo/_stats' end + let(:expected_args) do + [ + 'GET', + url, + params, + body, + {}, + { defined_params: { index: 'foo' }, endpoint: 'indices.stats' } + ] + end + it 'performs the request' do expect(client_double.indices.stats(index: 'foo', expand_wildcards: true)).to be_a Elasticsearch::API::Response end @@ -98,6 +143,17 @@ 'foo/_stats/fielddata' end + let(:expected_args) do + [ + 'GET', + url, + params, + body, + {}, + { defined_params: { index: 'foo', metric: 'fielddata' }, endpoint: 'indices.stats' } + ] + end + it 'performs the request' do expect(client_double.indices.stats(index: 'foo', metric: 'fielddata', fields: ['foo', 'bar'])).to be_a Elasticsearch::API::Response end @@ -112,6 +168,17 @@ '_stats/search' end + let(:expected_args) do + [ + 'GET', + url, + params, + body, + {}, + { defined_params: { metric: 'search' }, endpoint: 'indices.stats' } + ] + end + it 'performs the request' do expect(client_double.indices.stats(groups: [ 'groupA', 'groupB'], metric: 'search')).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/unfreeze_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/unfreeze_spec.rb index 1a735daec5..b9e48d1c44 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/unfreeze_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/unfreeze_spec.rb @@ -25,7 +25,8 @@ url, params, nil, - {} + {}, + { defined_params: { index: 'foo' }, endpoint: 'indices.unfreeze' } ] end @@ -78,6 +79,17 @@ 'foo%5Ebar/_unfreeze' end + let(:expected_args) do + [ + 'POST', + url, + params, + nil, + {}, + { defined_params: { index: 'foo^bar' }, endpoint: 'indices.unfreeze' } + ] + end + it 'performs the request' do expect(client_double.indices.unfreeze(index: 'foo^bar')).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/update_aliases_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/update_aliases_spec.rb index 3b6deab78a..0d18ca537a 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/update_aliases_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/update_aliases_spec.rb @@ -25,7 +25,8 @@ '_aliases', params, body, - {} + {}, + { endpoint: 'indices.update_aliases' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/indices/validate_query_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/indices/validate_query_spec.rb index c8489ffa59..2aeb027e36 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/indices/validate_query_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/indices/validate_query_spec.rb @@ -24,9 +24,11 @@ url, params, body, - {} + {}, + { endpoint: 'indices.validate_query' } ] end + let(:method) { 'GET' } let(:url) do @@ -50,6 +52,17 @@ 'foo/_validate/query' end + let(:expected_args) do + [ + method, + url, + params, + body, + {}, + { defined_params: { index: 'foo' }, endpoint: 'indices.validate_query' } + ] + end + it 'performs the request' do expect(client_double.indices.validate_query(index: 'foo')).to be_a Elasticsearch::API::Response end @@ -60,6 +73,17 @@ 'foo,bar/_validate/query' end + let(:expected_args) do + [ + method, + url, + params, + body, + {}, + { defined_params: { index: ['foo', 'bar'] }, endpoint: 'indices.validate_query' } + ] + end + it 'performs the request' do expect(client_double.indices.validate_query(index: ['foo', 'bar'])).to be_a Elasticsearch::API::Response end @@ -70,6 +94,17 @@ 'foo,bar/_validate/query' end + let(:expected_args) do + [ + method, + url, + params, + body, + {}, + { defined_params: { index: 'foo,bar' }, endpoint: 'indices.validate_query' } + ] + end + it 'performs the request' do expect(client_double.indices.validate_query(index: 'foo,bar')).to be_a Elasticsearch::API::Response end @@ -84,6 +119,17 @@ '_validate/query' end + let(:expected_args) do + [ + method, + url, + params, + body, + {}, + { endpoint: 'indices.validate_query' } + ] + end + it 'performs the request' do expect(client_double.indices.validate_query(explain: true, q: 'foo')).to be_a Elasticsearch::API::Response end @@ -95,6 +141,17 @@ end let(:method) { 'POST' } + let(:expected_args) do + [ + method, + url, + params, + body, + {}, + { endpoint: 'indices.validate_query' } + ] + end + it 'performs the request' do expect(client_double.indices.validate_query(body: { filtered: {} })).to be_a Elasticsearch::API::Response end @@ -105,6 +162,17 @@ 'foo%5Ebar/_validate/query' end + let(:expected_args) do + [ + method, + url, + params, + body, + {}, + { defined_params: { index: 'foo^bar' }, endpoint: 'indices.validate_query' } + ] + end + it 'performs the request' do expect(client_double.indices.validate_query(index: 'foo^bar')).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/inference/delete_model_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/inference/delete_model_spec.rb index 61751b2ce9..a1becfc918 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/inference/delete_model_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/inference/delete_model_spec.rb @@ -24,7 +24,9 @@ '_inference/foo/bar', {}, nil, - {} + {}, + { defined_params: { model_id: 'bar', task_type: 'foo' }, + endpoint: 'inference.delete_model' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/inference/get_model_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/inference/get_model_spec.rb index 9ba80518b7..ef55c4d589 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/inference/get_model_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/inference/get_model_spec.rb @@ -24,7 +24,9 @@ '_inference/foo/bar', {}, nil, - {} + {}, + { defined_params: { model_id: 'bar', task_type: 'foo' }, + endpoint: 'inference.get_model' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/inference/inference_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/inference/inference_spec.rb index 1273ea56ae..fbca8fbbcf 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/inference/inference_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/inference/inference_spec.rb @@ -24,7 +24,9 @@ '_inference/foo/bar', {}, nil, - {} + {}, + { defined_params: { model_id: 'bar', task_type: 'foo' }, + endpoint: 'inference.inference' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/inference/put_model_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/inference/put_model_spec.rb index 5160834810..cc9fc45661 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/inference/put_model_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/inference/put_model_spec.rb @@ -24,7 +24,9 @@ '_inference/foo/bar', {}, nil, - {} + {}, + { defined_params: { model_id: 'bar', task_type: 'foo' }, + endpoint: 'inference.put_model' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/info_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/info_spec.rb index a54f5bd3b0..881496a083 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/info_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/info_spec.rb @@ -25,7 +25,8 @@ '', { }, nil, - {} + {}, + { endpoint: 'info' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/ingest/delete_pipeline_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/ingest/delete_pipeline_spec.rb index 4bb90b522f..5d7efa7c52 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/ingest/delete_pipeline_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/ingest/delete_pipeline_spec.rb @@ -25,7 +25,8 @@ url, {}, nil, - {} + {}, + { defined_params: { id: 'foo' }, endpoint: 'ingest.delete_pipeline' } ] end @@ -53,6 +54,17 @@ '_ingest/pipeline/foo%5Ebar' end + let(:expected_args) do + [ + 'DELETE', + url, + {}, + nil, + {}, + { defined_params: { id: 'foo^bar' }, endpoint: 'ingest.delete_pipeline' } + ] + end + it 'performs the request' do expect(client_double.ingest.delete_pipeline(id: 'foo^bar')).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/ingest/geo_ip_stats_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/ingest/geo_ip_stats_spec.rb index 6f845d6963..91cc24079b 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/ingest/geo_ip_stats_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/ingest/geo_ip_stats_spec.rb @@ -24,7 +24,8 @@ '_ingest/geoip/stats', {}, nil, - {} + {}, + { endpoint: 'ingest.geo_ip_stats' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/ingest/get_pipeline_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/ingest/get_pipeline_spec.rb index 9ebfe3f976..5a8c3e0fd4 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/ingest/get_pipeline_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/ingest/get_pipeline_spec.rb @@ -25,7 +25,8 @@ url, {}, nil, - {} + {}, + { defined_params: { id: 'foo' }, endpoint: 'ingest.get_pipeline' } ] end @@ -43,6 +44,17 @@ '_ingest/pipeline/foo%5Ebar' end + let(:expected_args) do + [ + 'GET', + url, + {}, + nil, + {}, + { defined_params: { id: 'foo^bar' }, endpoint: 'ingest.get_pipeline' } + ] + end + it 'performs the request' do expect(client_double.ingest.get_pipeline(id: 'foo^bar')).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/ingest/put_pipeline_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/ingest/put_pipeline_spec.rb index baedaa06fc..32b56fa97f 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/ingest/put_pipeline_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/ingest/put_pipeline_spec.rb @@ -25,7 +25,8 @@ url, {}, {}, - {} + {}, + { defined_params:{ id: 'foo' }, endpoint: 'ingest.put_pipeline' } ] end @@ -53,6 +54,17 @@ '_ingest/pipeline/foo%5Ebar' end + let(:expected_args) do + [ + 'PUT', + url, + {}, + {}, + {}, + { defined_params:{ id: 'foo^bar' }, endpoint: 'ingest.put_pipeline' } + ] + end + it 'performs the request' do expect(client_double.ingest.put_pipeline(id: 'foo^bar', body: {})).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/ingest/simulate_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/ingest/simulate_spec.rb index 6fddb32e1d..616f6e835a 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/ingest/simulate_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/ingest/simulate_spec.rb @@ -24,7 +24,8 @@ url, {}, {}, - {} + {}, + { endpoint: 'ingest.simulate' } ] end let(:method) { 'POST' } @@ -42,6 +43,17 @@ '_ingest/pipeline/foo/_simulate' end + let(:expected_args) do + [ + method, + url, + {}, + {}, + {}, + { defined_params: { id: 'foo' }, endpoint: 'ingest.simulate' } + ] + end + it 'performs the request' do expect(client_double.ingest.simulate(id: 'foo', body: {})).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/json_builders_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/json_builders_spec.rb index 792ca0e270..899674590e 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/json_builders_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/json_builders_spec.rb @@ -25,7 +25,8 @@ '_search', {}, body, - {} + {}, + { endpoint: 'search' } ] end @@ -57,7 +58,8 @@ '_search', {}, body, - {} + {}, + { endpoint: 'search' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/get_memory_stats_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/get_memory_stats_spec.rb index 26dd5260d5..fbf15c743e 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/get_memory_stats_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/get_memory_stats_spec.rb @@ -25,7 +25,8 @@ url, {}, nil, - {} + {}, + { endpoint: 'ml.get_memory_stats' } ] end @@ -40,6 +41,17 @@ context 'with a node id' do let(:url) { '_ml/memory/foo/_stats' } + let(:expected_args) do + [ + 'GET', + url, + {}, + nil, + {}, + { defined_params: { node_id: 'foo' }, endpoint: 'ml.get_memory_stats' } + ] + end + it 'performs the request' do expect(client_double.ml.get_memory_stats(node_id: 'foo')).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/get_model_snapshot_upgrade_stats_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/get_model_snapshot_upgrade_stats_spec.rb index 6fee4733a3..df21e3b626 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/get_model_snapshot_upgrade_stats_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/get_model_snapshot_upgrade_stats_spec.rb @@ -24,7 +24,11 @@ '_ml/anomaly_detectors/foo/model_snapshots/bar/_upgrade/_stats', {}, nil, - {} + {}, + { defined_params: { + job_id: 'foo', + snapshot_id: 'bar' }, + endpoint: 'ml.get_model_snapshot_upgrade_stats' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/infer_trained_model_deployment_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/infer_trained_model_deployment_spec.rb index 78d386530d..fccbe878bd 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/infer_trained_model_deployment_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/infer_trained_model_deployment_spec.rb @@ -24,7 +24,8 @@ '_ml/trained_models/foo/deployment/_infer', {}, {}, - {} + {}, + { defined_params: { model_id: 'foo' }, endpoint: 'ml.infer_trained_model' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/put_trained_model_definition_part_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/put_trained_model_definition_part_spec.rb index 6070109668..68c35b2e4f 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/put_trained_model_definition_part_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/put_trained_model_definition_part_spec.rb @@ -24,7 +24,9 @@ '_ml/trained_models/foo/definition/3', {}, {}, - {} + {}, + { defined_params: { model_id: 'foo', part: 3 }, + endpoint: 'ml.put_trained_model_definition_part' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/put_trained_model_vocabulary_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/put_trained_model_vocabulary_spec.rb index 7d8dd8e4fb..62846cc751 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/put_trained_model_vocabulary_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/put_trained_model_vocabulary_spec.rb @@ -24,7 +24,9 @@ '_ml/trained_models/foo/vocabulary', {}, {}, - {} + {}, + { defined_params: { model_id: 'foo' }, + endpoint: 'ml.put_trained_model_vocabulary' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/reset_job_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/reset_job_spec.rb index 61e4ea3412..9e498a7d3b 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/reset_job_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/reset_job_spec.rb @@ -24,7 +24,8 @@ '_ml/anomaly_detectors/foo/_reset', {}, nil, - {} + {}, + { defined_params: { job_id: 'foo' }, endpoint: 'ml.reset_job' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/set_upgrade_mode_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/set_upgrade_mode_spec.rb index 26193929aa..376b37dad0 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/set_upgrade_mode_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/set_upgrade_mode_spec.rb @@ -24,7 +24,8 @@ '_ml/set_upgrade_mode', {}, nil, - {} + {}, + { endpoint: 'ml.set_upgrade_mode' } ] end @@ -40,7 +41,8 @@ '_ml/set_upgrade_mode', { enabled: true, timeout: '10m' }, nil, - {} + {}, + { endpoint: 'ml.set_upgrade_mode' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/start_trained_model_deployment_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/start_trained_model_deployment_spec.rb index 39bca8779c..7e30fe7773 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/start_trained_model_deployment_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/start_trained_model_deployment_spec.rb @@ -24,7 +24,9 @@ '_ml/trained_models/foo/deployment/_start', {}, nil, - {} + {}, + { defined_params: { model_id: 'foo' }, + endpoint: 'ml.start_trained_model_deployment' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/stop_trained_model_deployment_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/stop_trained_model_deployment_spec.rb index f40f502c22..eb42c9a37d 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/stop_trained_model_deployment_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/stop_trained_model_deployment_spec.rb @@ -24,7 +24,9 @@ '_ml/trained_models/foo/deployment/_stop', {}, nil, - {} + {}, + { defined_params: { model_id: 'foo' }, + endpoint: 'ml.stop_trained_model_deployment' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/update_trained_model_deployment_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/update_trained_model_deployment_spec.rb index 7626c17bae..a3a2f26ca7 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/update_trained_model_deployment_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/machine_learning/update_trained_model_deployment_spec.rb @@ -24,7 +24,9 @@ '_ml/trained_models/foo/deployment/_update', {}, {}, - {} + {}, + { defined_params: { model_id: 'foo' }, + endpoint: 'ml.update_trained_model_deployment' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/mget_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/mget_spec.rb index 550d6136fd..893231f112 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/mget_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/mget_spec.rb @@ -24,7 +24,8 @@ url, params, body, - {} + {}, + { endpoint: 'mget' } ] end @@ -50,6 +51,17 @@ 'foo/_mget' end + let(:expected_args) do + [ + 'POST', + url, + params, + body, + {}, + { defined_params: { index: 'foo' }, endpoint: 'mget' } + ] + end + it 'performs the request' do expect(client_double.mget(index: 'foo', body: { :docs => [] })).to be_a Elasticsearch::API::Response end @@ -80,6 +92,17 @@ { ids: [ '1', '2' ]} end + let(:expected_args) do + [ + 'POST', + url, + params, + body, + {}, + { defined_params: { index: 'foo^bar' }, endpoint: 'mget' } + ] + end + it 'performs the request' do expect(client_double.mget(index: 'foo^bar', body: { :ids => [ '1', '2'] })).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/migration/get_feature_upgrade_status_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/migration/get_feature_upgrade_status_spec.rb index 4ef5135c15..81c8375ed2 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/migration/get_feature_upgrade_status_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/migration/get_feature_upgrade_status_spec.rb @@ -24,7 +24,8 @@ '_migration/system_features', {}, nil, - {} + {}, + { endpoint: 'migration.get_feature_upgrade_status' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/migration/post_feature_upgrade_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/migration/post_feature_upgrade_spec.rb index 5ac4015250..0b84b8ad43 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/migration/post_feature_upgrade_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/migration/post_feature_upgrade_spec.rb @@ -24,7 +24,8 @@ '_migration/system_features', {}, nil, - {} + {}, + { endpoint: 'migration.post_feature_upgrade' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/msearch_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/msearch_spec.rb index 203766940a..3c56a6a46c 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/msearch_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/msearch_spec.rb @@ -24,7 +24,8 @@ url, params, body, - headers + headers, + { endpoint: 'msearch' } ] end @@ -97,6 +98,17 @@ '' end + let(:expected_args) do + [ + 'POST', + url, + params, + body, + headers, + { defined_params: { index: 'foo' }, endpoint: 'msearch' } + ] + end + it 'performs the request' do expect(client_double.msearch(index: 'foo', body: [])) end @@ -112,6 +124,17 @@ '' end + let(:expected_args) do + [ + 'POST', + url, + params, + body, + headers, + { defined_params: { index: ['foo', 'bar'] }, endpoint: 'msearch' } + ] + end + it 'performs the request' do expect(client_double.msearch(index: ['foo', 'bar'], body: [])) end @@ -127,6 +150,17 @@ '' end + let(:expected_args) do + [ + 'POST', + url, + params, + body, + headers, + { defined_params: { index: 'foo^bar' }, endpoint: 'msearch' } + ] + end + it 'performs the request' do expect(client_double.msearch(index: 'foo^bar', body: [])).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/msearch_template_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/msearch_template_spec.rb index c08b988c5a..5ec1af4dbc 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/msearch_template_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/msearch_template_spec.rb @@ -24,7 +24,8 @@ url, params, body, - headers + headers, + { endpoint: 'msearch_template' } ] end @@ -86,6 +87,17 @@ '' end + let(:expected_args) do + [ + 'POST', + url, + params, + body, + headers, + { defined_params: { index: 'foo' }, endpoint: 'msearch_template' } + ] + end + it 'performs the request' do expect(client_double.msearch_template(index: 'foo', body: [])) end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/mtermvectors_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/mtermvectors_spec.rb index 8a56b3265d..1bbc458fb4 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/mtermvectors_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/mtermvectors_spec.rb @@ -24,7 +24,8 @@ 'my-index/_mtermvectors', {}, body, - {} + {}, + { defined_params: { index: 'my-index' }, endpoint: 'mtermvectors' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/nodes/clear_repositories_metering_archive_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/nodes/clear_repositories_metering_archive_spec.rb index 0d45d075bb..f42397d7f5 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/nodes/clear_repositories_metering_archive_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/nodes/clear_repositories_metering_archive_spec.rb @@ -25,7 +25,9 @@ '_nodes/foo/_repositories_metering/bar', {}, nil, - {} + {}, + { defined_params: { max_archive_version: 'bar', node_id: 'foo' }, + endpoint: 'nodes.clear_repositories_metering_archive' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/nodes/get_repositories_metering_info_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/nodes/get_repositories_metering_info_spec.rb index b5d78f08e0..56bfdbe3c9 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/nodes/get_repositories_metering_info_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/nodes/get_repositories_metering_info_spec.rb @@ -24,7 +24,9 @@ '_nodes/foo/_repositories_metering', {}, nil, - {} + {}, + { defined_params: {node_id: 'foo' }, + endpoint: 'nodes.get_repositories_metering_info' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/nodes/hot_threads_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/nodes/hot_threads_spec.rb index 811b37136c..af5124bdcc 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/nodes/hot_threads_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/nodes/hot_threads_spec.rb @@ -25,7 +25,8 @@ url, {}, nil, - {} + {}, + { endpoint: 'nodes.hot_threads' } ] end @@ -43,6 +44,17 @@ '_nodes/foo/hot_threads' end + let(:expected_args) do + [ + 'GET', + url, + {}, + nil, + {}, + { defined_params: { node_id: 'foo' }, endpoint: 'nodes.hot_threads' } + ] + end + it 'performs the request' do expect(client_double.nodes.hot_threads(node_id: 'foo')).to be_a Elasticsearch::API::Response end @@ -54,6 +66,17 @@ '_nodes/foo%5Ebar/hot_threads' end + let(:expected_args) do + [ + 'GET', + url, + {}, + nil, + {}, + { defined_params: { node_id: 'foo^bar' }, endpoint: 'nodes.hot_threads' } + ] + end + it 'performs the request' do expect(client_double.nodes.hot_threads(node_id: 'foo^bar')).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/nodes/info_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/nodes/info_spec.rb index 7ee8925fa6..ad677be08d 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/nodes/info_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/nodes/info_spec.rb @@ -25,7 +25,8 @@ url, params, nil, - {} + {}, + { endpoint: 'nodes.info' } ] end @@ -47,6 +48,17 @@ '_nodes/foo' end + let(:expected_args) do + [ + 'GET', + url, + params, + nil, + {}, + { defined_params: { node_id: 'foo' }, endpoint: 'nodes.info' } + ] + end + it 'performs the request' do expect(client_double.nodes.info(node_id: 'foo')).to be_a Elasticsearch::API::Response end @@ -58,6 +70,17 @@ '_nodes/A,B,C' end + let(:expected_args) do + [ + 'GET', + url, + params, + nil, + {}, + { defined_params: { node_id: ['A', 'B', 'C'] }, endpoint: 'nodes.info' } + ] + end + it 'performs the request' do expect(client_double.nodes.info(node_id: ['A', 'B', 'C'])).to be_a Elasticsearch::API::Response end @@ -69,6 +92,17 @@ '_nodes/A,B,C' end + let(:expected_args) do + [ + 'GET', + url, + params, + nil, + {}, + { defined_params: { node_id: 'A,B,C' }, endpoint: 'nodes.info' } + ] + end + it 'performs the request' do expect(client_double.nodes.info(node_id: 'A,B,C')).to be_a Elasticsearch::API::Response end @@ -95,6 +129,17 @@ '_nodes/http,network' end + let(:expected_args) do + [ + 'GET', + url, + params, + nil, + {}, + { defined_params: { metric: ['http', 'network'] }, endpoint: 'nodes.info' } + ] + end + it 'performs the request' do expect(client_double.nodes.info(metric: ['http', 'network'])).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/nodes/reload_secure_settings_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/nodes/reload_secure_settings_spec.rb index 31b5bf4449..8eef6c461b 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/nodes/reload_secure_settings_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/nodes/reload_secure_settings_spec.rb @@ -25,7 +25,8 @@ url, params, body, - {} + {}, + { endpoint: 'nodes.reload_secure_settings' } ] end @@ -43,6 +44,17 @@ '_nodes/foo/reload_secure_settings' end + let(:expected_args) do + [ + 'POST', + url, + params, + body, + {}, + { defined_params: { node_id: 'foo' }, endpoint: 'nodes.reload_secure_settings' } + ] + end + it 'performs the request' do expect(client_double.nodes.reload_secure_settings(node_id: 'foo')).to be_a Elasticsearch::API::Response end @@ -55,6 +67,17 @@ '_nodes/foo,bar/reload_secure_settings' end + let(:expected_args) do + [ + 'POST', + url, + params, + body, + {}, + { defined_params: { node_id: 'foo,bar' }, endpoint: 'nodes.reload_secure_settings' } + ] + end + it 'performs the request' do expect(client_double.nodes.reload_secure_settings(node_id: 'foo,bar', body: { foo: 'bar' })).to be_a Elasticsearch::API::Response end @@ -66,6 +89,17 @@ '_nodes/foo,bar/reload_secure_settings' end + let(:expected_args) do + [ + 'POST', + url, + params, + body, + {}, + { defined_params: { node_id: ['foo', 'bar'] }, endpoint: 'nodes.reload_secure_settings' } + ] + end + it 'performs the request' do expect(client_double.nodes.reload_secure_settings(node_id: ['foo', 'bar'], body: { foo: 'bar' })).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/nodes/stats_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/nodes/stats_spec.rb index 11106c968e..3cd5053ddd 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/nodes/stats_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/nodes/stats_spec.rb @@ -25,7 +25,8 @@ url, params, nil, - {} + {}, + { endpoint: 'nodes.stats' } ] end @@ -47,6 +48,17 @@ '_nodes/foo/stats' end + let(:expected_args) do + [ + 'GET', + url, + params, + nil, + {}, + { defined_params: { node_id: 'foo' }, endpoint: 'nodes.stats' } + ] + end + it 'performs the request' do expect(client_double.nodes.stats(node_id: 'foo')).to be_a Elasticsearch::API::Response end @@ -58,6 +70,17 @@ '_nodes/stats/http,fs' end + let(:expected_args) do + [ + 'GET', + url, + params, + nil, + {}, + { defined_params: { metric: [:http, :fs] }, endpoint: 'nodes.stats' } + ] + end + it 'performs the request' do expect(client_double.nodes.stats(metric: [:http, :fs])).to be_a Elasticsearch::API::Response end @@ -69,6 +92,17 @@ '_nodes/stats/indices/filter_cache' end + let(:expected_args) do + [ + 'GET', + url, + params, + nil, + {}, + { defined_params: { metric: :indices, index_metric: :filter_cache }, endpoint: 'nodes.stats' } + ] + end + it 'performs the request' do expect(client_double.nodes.stats(metric: :indices, index_metric: :filter_cache)).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/open_point_in_time_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/open_point_in_time_spec.rb index 4a80f3a191..3636a9c490 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/open_point_in_time_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/open_point_in_time_spec.rb @@ -24,7 +24,8 @@ 'foo/_pit', {}, nil, - {} + {}, + { defined_params: { index: 'foo' }, endpoint: 'open_point_in_time' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/ping_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/ping_spec.rb index f347105dd3..28b2a917d3 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/ping_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/ping_spec.rb @@ -25,7 +25,8 @@ '', {}, nil, - {} + {}, + { endpoint: 'ping' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/put_script_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/put_script_spec.rb index cba29c0d86..b6d1ad6c99 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/put_script_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/put_script_spec.rb @@ -29,7 +29,8 @@ url, {}, { script: 'bar', lang: 'groovy' }, - {} + {}, + { defined_params: { id: 'foo' }, endpoint: 'put_script' } ] end @@ -45,7 +46,8 @@ url, {}, { script: 'bar' }, - {} + {}, + { defined_params: { id: 'foo' }, endpoint: 'put_script' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/query_ruleset/delete_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/query_ruleset/delete_spec.rb index 6b4ac1c15d..9a48000000 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/query_ruleset/delete_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/query_ruleset/delete_spec.rb @@ -25,7 +25,8 @@ '_query_rules/foo', {}, nil, - {} + {}, + { defined_params: { ruleset_id: 'foo' }, endpoint: 'query_ruleset.delete' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/query_ruleset/get_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/query_ruleset/get_spec.rb index 33bac01549..a033fa3086 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/query_ruleset/get_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/query_ruleset/get_spec.rb @@ -24,7 +24,8 @@ '_query_rules/foo', {}, nil, - {} + {}, + { defined_params: { ruleset_id: 'foo' }, endpoint: 'query_ruleset.get' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/query_ruleset/list_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/query_ruleset/list_spec.rb deleted file mode 100644 index ee3c544ee2..0000000000 --- a/elasticsearch-api/spec/elasticsearch/api/actions/query_ruleset/list_spec.rb +++ /dev/null @@ -1,34 +0,0 @@ -# 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.query_ruleset#list' do - let(:expected_args) do - [ - 'GET', - '_query_rules', - {}, - nil, - {} - ] - end - - it 'performs the request' do - expect(client_double.query_ruleset.list).to be_a Elasticsearch::API::Response - end -end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/query_ruleset/put_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/query_ruleset/put_spec.rb index 99372f8fb7..af9b2d74cc 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/query_ruleset/put_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/query_ruleset/put_spec.rb @@ -25,7 +25,8 @@ '_query_rules/foo', {}, {}, - {} + {}, + { defined_params: { ruleset_id: 'foo' }, endpoint: 'query_ruleset.put' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/rank_eval_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/rank_eval_spec.rb index ba14ff428a..5446908f6d 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/rank_eval_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/rank_eval_spec.rb @@ -25,7 +25,8 @@ url, params, body, - {} + {}, + { defined_params: { index: 'my_index' }, endpoint: 'rank_eval' } ] end @@ -75,6 +76,17 @@ } end + let(:expected_args) do + [ + 'POST', + url, + params, + body, + {}, + { endpoint: 'rank_eval' } + ] + end + it 'performs the request' do expect(client_double.rank_eval(body: {}, ignore_unavailable: true, diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/reindex_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/reindex_spec.rb index 66b1e6ca70..49c5431c61 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/reindex_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/reindex_spec.rb @@ -25,7 +25,8 @@ '_reindex', {}, {}, - {} + {}, + { endpoint: 'reindex' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/render_search_template_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/render_search_template_spec.rb index 087c761c3f..7c9fe2ef0f 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/render_search_template_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/render_search_template_spec.rb @@ -25,7 +25,8 @@ '_render/template', {}, { foo: 'bar' }, - {} + {}, + { endpoint: 'render_search_template' } ] end @@ -41,7 +42,8 @@ '_render/template/foo', {}, { foo: 'bar' }, - {} + {}, + { defined_params: { id: 'foo' }, endpoint: 'render_search_template' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/scroll_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/scroll_spec.rb index e649b5fa98..36ba031209 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/scroll_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/scroll_spec.rb @@ -25,7 +25,8 @@ '_search/scroll/cXVlcn...', {}, nil, - {} + {}, + { defined_params: { scroll_id: 'cXVlcn...' }, endpoint: 'scroll' } ] end @@ -41,7 +42,8 @@ '_search/scroll', {}, { scroll_id: 'cXVlcn...' }, - {} + {}, + { endpoint: 'scroll' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/search_application/delete_behavioral_analytics_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/search_application/delete_behavioral_analytics_spec.rb index d959402c1e..2d16db3844 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/search_application/delete_behavioral_analytics_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/search_application/delete_behavioral_analytics_spec.rb @@ -24,7 +24,9 @@ '_application/analytics/foo', {}, nil, - {} + {}, + { defined_params: { name: 'foo' }, + endpoint: 'search_application.delete_behavioral_analytics' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/search_application/delete_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/search_application/delete_spec.rb index dbdb16f547..ebb7653aa5 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/search_application/delete_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/search_application/delete_spec.rb @@ -24,7 +24,8 @@ '_application/search_application/foo', {}, nil, - {} + {}, + { defined_params: { name: 'foo' }, endpoint: 'search_application.delete' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/search_application/get_behavioral_analytics_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/search_application/get_behavioral_analytics_spec.rb index 57bfa3a64e..62a47ec1a7 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/search_application/get_behavioral_analytics_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/search_application/get_behavioral_analytics_spec.rb @@ -24,7 +24,8 @@ '_application/analytics', {}, nil, - {} + {}, + { endpoint: 'search_application.get_behavioral_analytics' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/search_application/get_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/search_application/get_spec.rb index bb4e23cbe8..85989091f5 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/search_application/get_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/search_application/get_spec.rb @@ -24,7 +24,8 @@ '_application/search_application/foo', {}, nil, - {} + {}, + { defined_params: { name: 'foo' }, endpoint: 'search_application.get' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/search_application/list_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/search_application/list_spec.rb index 6de6d0653c..b7acd856aa 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/search_application/list_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/search_application/list_spec.rb @@ -24,7 +24,8 @@ '_application/search_application', {}, nil, - {} + {}, + { endpoint: 'search_application.list' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/search_application/post_behavioral_analytics_event_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/search_application/post_behavioral_analytics_event_spec.rb index a037c22674..335c6d3707 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/search_application/post_behavioral_analytics_event_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/search_application/post_behavioral_analytics_event_spec.rb @@ -24,7 +24,9 @@ '_application/analytics/foo/event/search', {}, {}, - {} + {}, + { defined_params: { collection_name: 'foo', event_type: 'search' }, + endpoint: 'search_application.post_behavioral_analytics_event' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/search_application/put_behavioral_analytics_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/search_application/put_behavioral_analytics_spec.rb index a3d712c241..013bff584f 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/search_application/put_behavioral_analytics_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/search_application/put_behavioral_analytics_spec.rb @@ -24,7 +24,9 @@ '_application/analytics/foo', {}, nil, - {} + {}, + { defined_params: { name: 'foo' }, + endpoint: 'search_application.put_behavioral_analytics' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/search_application/put_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/search_application/put_spec.rb index 42f5a8a925..3b2037f11f 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/search_application/put_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/search_application/put_spec.rb @@ -24,7 +24,8 @@ '_application/search_application/foo', {}, {}, - {} + {}, + { defined_params: { name: 'foo' }, endpoint: 'search_application.put' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/search_application/render_query_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/search_application/render_query_spec.rb index e1dcb69b23..1fb4baad7b 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/search_application/render_query_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/search_application/render_query_spec.rb @@ -24,7 +24,9 @@ '_application/search_application/foo/_render_query', {}, nil, - {} + {}, + { defined_params: { name: 'foo' }, + endpoint: 'search_application.render_query' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/search_application/search_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/search_application/search_spec.rb index a124b81fb1..6763d78e63 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/search_application/search_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/search_application/search_spec.rb @@ -24,7 +24,8 @@ '_application/search_application/foo/_search', {}, nil, - {} + {}, + { defined_params: { name: 'foo' }, endpoint: 'search_application.search' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/search_mvt_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/search_mvt_spec.rb index ed4455d020..e0c1d93574 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/search_mvt_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/search_mvt_spec.rb @@ -24,7 +24,9 @@ url, params, body, - {} + {}, + { defined_params: { field: 'field', index: 'foo', x: 57.2127, y: 6.2348, zoom: 10 }, + endpoint: 'search_mvt' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/search_shards_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/search_shards_spec.rb index ca43518ba2..1caaf037d2 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/search_shards_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/search_shards_spec.rb @@ -25,7 +25,8 @@ '_search_shards', {}, nil, - {} + {}, + { endpoint: 'search_shards' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/search_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/search_spec.rb index 7d55c7abf6..02e10edabe 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/search_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/search_spec.rb @@ -24,7 +24,8 @@ url, params, body, - {} + {}, + { endpoint: 'search' } ] end let(:method) { 'GET' } @@ -65,6 +66,17 @@ 'foo/_search' end + let(:expected_args) do + [ + method, + url, + params, + body, + {}, + { defined_params: { index: 'foo' }, endpoint: 'search' } + ] + end + it 'performs the request' do expect(client_double.search(index: 'foo')) end @@ -75,6 +87,17 @@ 'foo,bar/_search' end + let(:expected_args) do + [ + method, + url, + params, + body, + {}, + { defined_params: { index: ['foo', 'bar'] }, endpoint: 'search' } + ] + end + it 'performs the request' do expect(client_double.search(index: ['foo', 'bar'])) end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/search_template_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/search_template_spec.rb index cb061c5569..60d235aba1 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/search_template_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/search_template_spec.rb @@ -24,7 +24,8 @@ 'foo/_search/template', { }, { foo: 'bar' }, - {} + {}, + { defined_params: { index: 'foo' }, endpoint: 'search_template' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/searchable_snapshots/cache_stats_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/searchable_snapshots/cache_stats_spec.rb index bd5ab27f8e..19d3c17245 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/searchable_snapshots/cache_stats_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/searchable_snapshots/cache_stats_spec.rb @@ -24,7 +24,8 @@ url, {}, nil, - {} + {}, + { endpoint: 'searchable_snapshots.cache_stats' } ] end @@ -37,6 +38,17 @@ context 'when using index' do let(:url){ '_searchable_snapshots/foo/cache/stats' } + let(:expected_args) do + [ + 'GET', + url, + {}, + nil, + {}, + { defined_params: { node_id: 'foo' }, endpoint: 'searchable_snapshots.cache_stats' } + ] + end + it 'performs the request' do expect(client_double.searchable_snapshots.cache_stats(node_id: 'foo')).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/searchable_snapshots/clear_cache_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/searchable_snapshots/clear_cache_spec.rb index be377a5cbf..e156ba16ca 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/searchable_snapshots/clear_cache_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/searchable_snapshots/clear_cache_spec.rb @@ -24,7 +24,8 @@ url, {}, nil, - {} + {}, + { endpoint: 'searchable_snapshots.clear_cache' } ] end @@ -37,6 +38,18 @@ context 'when using index' do let(:url){ 'foo/_searchable_snapshots/cache/clear' } + let(:expected_args) do + [ + 'POST', + url, + {}, + nil, + {}, + { defined_params: { index: 'foo' }, + endpoint: 'searchable_snapshots.clear_cache' } + ] + end + it 'performs the request' do expect(client_double.searchable_snapshots.clear_cache(index: 'foo')).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/searchable_snapshots/mount_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/searchable_snapshots/mount_spec.rb index d18a955f06..f34d2d4075 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/searchable_snapshots/mount_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/searchable_snapshots/mount_spec.rb @@ -24,7 +24,9 @@ '_snapshot/foo/bar/_mount', {}, {}, - {} + {}, + { defined_params: { repository: 'foo', snapshot: 'bar' }, + endpoint: 'searchable_snapshots.mount' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/searchable_snapshots/stats_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/searchable_snapshots/stats_spec.rb index 2c36013f91..50da731855 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/searchable_snapshots/stats_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/searchable_snapshots/stats_spec.rb @@ -24,9 +24,12 @@ url, {}, nil, - {} + {}, + { endpoint: 'searchable_snapshots.stats' } ] end + + let(:url) { '_searchable_snapshots/stats' } it 'performs the request' do @@ -36,6 +39,17 @@ context 'using index' do let(:url) { 'foo/_searchable_snapshots/stats' } + let(:expected_args) do + [ + 'GET', + url, + {}, + nil, + {}, + { defined_params: { index: 'foo' }, endpoint: 'searchable_snapshots.stats' } + ] + end + it 'performs the request' do expect(client_double.searchable_snapshots.stats(index: 'foo')).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/security/clear_cached_service_tokens_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/security/clear_cached_service_tokens_spec.rb index 879b09b3e7..d0a2d85cad 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/security/clear_cached_service_tokens_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/security/clear_cached_service_tokens_spec.rb @@ -24,7 +24,9 @@ '_security/service/foo/bar/credential/token/service_token/_clear_cache', {}, nil, - {} + {}, + { defined_params: { name: 'service_token', namespace: 'foo', service: 'bar' }, + endpoint: 'security.clear_cached_service_tokens' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/security/create_api_key_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/security/create_api_key_spec.rb index 45dc2a192c..d6b9b18320 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/security/create_api_key_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/security/create_api_key_spec.rb @@ -25,7 +25,8 @@ '_security/api_key', {}, body, - {} + {}, + { endpoint: 'security.create_api_key' } ] end @@ -68,7 +69,8 @@ '_security/api_key', { refresh: 'wait_for' }, body, - {} + {}, + { endpoint: 'security.create_api_key' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/security/create_cross_cluster_api_key_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/security/create_cross_cluster_api_key_spec.rb index f942097c49..5a4de5500c 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/security/create_cross_cluster_api_key_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/security/create_cross_cluster_api_key_spec.rb @@ -25,7 +25,8 @@ '_security/cross_cluster/api_key', {}, {}, - {} + {}, + { endpoint: 'security.create_cross_cluster_api_key' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/security/create_service_token_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/security/create_service_token_spec.rb index bee231bee7..46e6b66002 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/security/create_service_token_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/security/create_service_token_spec.rb @@ -26,7 +26,9 @@ expected_path, {}, nil, - {} + {}, + { defined_params: { namespace: 'foo', service: 'bar' }, + endpoint: 'security.create_service_token' } ] end @@ -34,6 +36,18 @@ let(:expected_request_method) { 'PUT' } let(:token_name) { 'test-token' } let(:expected_path) { "#{super()}/#{token_name}" } + let(:expected_args) do + [ + expected_request_method, + expected_path, + {}, + nil, + {}, + { defined_params: { name: 'test-token', namespace: 'foo', service: 'bar' }, + endpoint: 'security.create_service_token' } + ] + end + it 'performs the request' do expect( client_double.security.create_service_token( diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/security/delete_service_token_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/security/delete_service_token_spec.rb index ae1408cef5..1366db2358 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/security/delete_service_token_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/security/delete_service_token_spec.rb @@ -24,7 +24,9 @@ '_security/service/foo/bar/credential/token/service_token', {}, nil, - {} + {}, + { defined_params: { name: 'service_token', namespace: 'foo', service: 'bar' }, + endpoint: 'security.delete_service_token' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/security/disable_user_profile_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/security/disable_user_profile_spec.rb index 3a22747b1b..2b7173a565 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/security/disable_user_profile_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/security/disable_user_profile_spec.rb @@ -24,7 +24,8 @@ '_security/profile/foo/_disable', {}, nil, - {} + {}, + { defined_params: { uid: 'foo' }, endpoint: 'security.disable_user_profile' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/security/enable_user_profile_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/security/enable_user_profile_spec.rb index bc87ed2197..1e61a7395c 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/security/enable_user_profile_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/security/enable_user_profile_spec.rb @@ -24,7 +24,8 @@ '_security/profile/foo/_enable', {}, nil, - {} + {}, + { defined_params: { uid: 'foo' }, endpoint: 'security.enable_user_profile' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/security/enroll_kibana_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/security/enroll_kibana_spec.rb index c76085a1cf..6e281668c3 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/security/enroll_kibana_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/security/enroll_kibana_spec.rb @@ -24,7 +24,8 @@ '_security/enroll/kibana', {}, nil, - {} + {}, + { endpoint: 'security.enroll_kibana' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/security/get_api_key_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/security/get_api_key_spec.rb index e5066f43fc..082d249109 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/security/get_api_key_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/security/get_api_key_spec.rb @@ -25,7 +25,8 @@ '_security/api_key', params, nil, - {} + {}, + { endpoint: 'security.get_api_key' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/security/get_builtin_privileges_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/security/get_builtin_privileges_spec.rb index 955881b062..8e1e77b0e8 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/security/get_builtin_privileges_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/security/get_builtin_privileges_spec.rb @@ -25,7 +25,8 @@ '_security/privilege/_builtin', {}, nil, - {} + {}, + { endpoint: 'security.get_builtin_privileges' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/security/get_service_accounts_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/security/get_service_accounts_spec.rb index 5b7cd8015b..81a0df1ef2 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/security/get_service_accounts_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/security/get_service_accounts_spec.rb @@ -24,7 +24,8 @@ url, {}, nil, - {} + {}, + { endpoint: 'security.get_service_accounts' } ] end @@ -39,6 +40,18 @@ context 'when using namespace' do let(:url) { '_security/service/foo' } + let(:expected_args) do + [ + 'GET', + url, + {}, + nil, + {}, + { defined_params: { namespace: 'foo' }, + endpoint: 'security.get_service_accounts' } + ] + end + it 'performs the request' do expect( client_double.security.get_service_accounts(namespace: 'foo') @@ -49,6 +62,18 @@ context 'when using namespace and service' do let(:url) { '_security/service/foo/bar' } + let(:expected_args) do + [ + 'GET', + url, + {}, + nil, + {}, + { defined_params: { service: 'bar', namespace: 'foo' }, + endpoint: 'security.get_service_accounts' } + ] + end + it 'performs the request' do expect( client_double.security.get_service_accounts(namespace: 'foo', service: 'bar') diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/security/get_service_credentials_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/security/get_service_credentials_spec.rb index 7bb6099294..b49e925a73 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/security/get_service_credentials_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/security/get_service_credentials_spec.rb @@ -24,7 +24,9 @@ '_security/service/foo/bar/credential', {}, nil, - {} + {}, + { defined_params: { namespace: 'foo', service: 'bar' }, + endpoint: 'security.get_service_credentials' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/security/get_settings_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/security/get_settings_spec.rb deleted file mode 100644 index f596687688..0000000000 --- a/elasticsearch-api/spec/elasticsearch/api/actions/security/get_settings_spec.rb +++ /dev/null @@ -1,34 +0,0 @@ -# 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#security#get_settings' do - let(:expected_args) do - [ - 'GET', - '_security/settings', - {}, - nil, - {} - ] - end - - it 'performs the request' do - expect(client_double.security.get_settings).to be_a Elasticsearch::API::Response - end -end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/security/has_privileges_user_profile_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/security/has_privileges_user_profile_spec.rb index bccd3624fa..a124ca0142 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/security/has_privileges_user_profile_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/security/has_privileges_user_profile_spec.rb @@ -24,7 +24,8 @@ '_security/profile/_has_privileges', {}, {}, - {} + {}, + { endpoint: 'security.has_privileges_user_profile' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/security/invalidate_api_key_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/security/invalidate_api_key_spec.rb index 229a66a4ac..4e9819ab7d 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/security/invalidate_api_key_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/security/invalidate_api_key_spec.rb @@ -24,7 +24,8 @@ '_security/api_key', {}, body, - {} + {}, + { endpoint: 'security.invalidate_api_key' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/security/query_api_keys_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/security/query_api_keys_spec.rb index ecb7537efa..e58c4aaa54 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/security/query_api_keys_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/security/query_api_keys_spec.rb @@ -24,7 +24,8 @@ '_security/_query/api_key', {}, body, - {} + {}, + { endpoint: 'security.query_api_keys' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/security/saml_authenticate_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/security/saml_authenticate_spec.rb index 7bf79e26da..cc7159e2f1 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/security/saml_authenticate_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/security/saml_authenticate_spec.rb @@ -24,7 +24,8 @@ '_security/saml/authenticate', {}, {}, - {} + {}, + { endpoint: 'security.saml_authenticate' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/security/saml_complete_logout_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/security/saml_complete_logout_spec.rb index 8aca481e45..66a8f0b282 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/security/saml_complete_logout_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/security/saml_complete_logout_spec.rb @@ -24,7 +24,8 @@ '_security/saml/complete_logout', {}, {}, - {} + {}, + { endpoint: 'security.saml_complete_logout' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/security/saml_invalidate_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/security/saml_invalidate_spec.rb index 78875389a1..6ce3cf8f2a 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/security/saml_invalidate_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/security/saml_invalidate_spec.rb @@ -24,7 +24,8 @@ '_security/saml/invalidate', {}, {}, - {} + {}, + { endpoint: 'security.saml_invalidate' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/security/saml_logout_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/security/saml_logout_spec.rb index 44c8f95051..542004b532 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/security/saml_logout_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/security/saml_logout_spec.rb @@ -24,7 +24,8 @@ '_security/saml/logout', {}, {}, - {} + {}, + { endpoint: 'security.saml_logout' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/security/saml_prepare_authentication_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/security/saml_prepare_authentication_spec.rb index dd6c86d079..c3e535dce6 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/security/saml_prepare_authentication_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/security/saml_prepare_authentication_spec.rb @@ -24,7 +24,8 @@ '_security/saml/logout', {}, {}, - {} + {}, + { endpoint: 'security.saml_logout' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/security/saml_service_provider_metadata_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/security/saml_service_provider_metadata_spec.rb index ce404c3380..365cdf5430 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/security/saml_service_provider_metadata_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/security/saml_service_provider_metadata_spec.rb @@ -24,7 +24,9 @@ "_security/saml/metadata/#{realm_name}", {}, nil, - {} + {}, + { defined_params: { realm_name: 'foo' }, + endpoint: 'security.saml_service_provider_metadata' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/security/suggest_user_profiles_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/security/suggest_user_profiles_spec.rb index ec31fde218..499ea90bfc 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/security/suggest_user_profiles_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/security/suggest_user_profiles_spec.rb @@ -24,7 +24,8 @@ '_security/profile/_suggest', {}, body, - {} + {}, + { endpoint: 'security.suggest_user_profiles' } ] end let(:method) { 'GET' } diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/security/update_api_key_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/security/update_api_key_spec.rb index be21f2e76b..786eb57136 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/security/update_api_key_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/security/update_api_key_spec.rb @@ -24,7 +24,8 @@ '_security/api_key/foo', {}, nil, - {} + {}, + { defined_params: { id: 'foo' }, endpoint: 'security.update_api_key' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/security/update_cross_cluster_api_key_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/security/update_cross_cluster_api_key_spec.rb index 206310cec8..a25c5fdc55 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/security/update_cross_cluster_api_key_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/security/update_cross_cluster_api_key_spec.rb @@ -25,7 +25,9 @@ '_security/cross_cluster/api_key/the_id', {}, {}, - {} + {}, + { defined_params: { id: 'the_id' }, + endpoint: 'security.update_cross_cluster_api_key' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/security/update_settings_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/security/update_settings_spec.rb deleted file mode 100644 index ea6fa73be1..0000000000 --- a/elasticsearch-api/spec/elasticsearch/api/actions/security/update_settings_spec.rb +++ /dev/null @@ -1,34 +0,0 @@ -# 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#security#update_settings' do - let(:expected_args) do - [ - 'PUT', - '_security/settings', - {}, - {}, - {} - ] - end - - it 'performs the request' do - expect(client_double.security.update_settings(body: {})).to be_a Elasticsearch::API::Response - end -end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/shutdown/delete_node_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/shutdown/delete_node_spec.rb index 214d6ab4e0..7454aed968 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/shutdown/delete_node_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/shutdown/delete_node_spec.rb @@ -24,7 +24,8 @@ '_nodes/id/shutdown', {}, nil, - {} + {}, + { defined_params: { node_id: 'id' }, endpoint: 'shutdown.delete_node' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/shutdown/get_node_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/shutdown/get_node_spec.rb index aa12297a4c..1c4f54d553 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/shutdown/get_node_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/shutdown/get_node_spec.rb @@ -24,7 +24,8 @@ url, {}, nil, - {} + {}, + { defined_params: { node_id: 'id' }, endpoint: 'shutdown.get_node' } ] end @@ -39,6 +40,17 @@ context 'when no id is provided' do let(:url) { '_nodes/shutdown' } + let(:expected_args) do + [ + 'GET', + url, + {}, + nil, + {}, + { endpoint: 'shutdown.get_node' } + ] + end + it 'performs the request' do expect(client_double.shutdown.get_node).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/shutdown/put_node_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/shutdown/put_node_spec.rb index 411a90e562..d746c899d1 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/shutdown/put_node_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/shutdown/put_node_spec.rb @@ -24,7 +24,8 @@ '_nodes/id/shutdown', {}, {}, - {} + {}, + { defined_params: { node_id: 'id' }, endpoint: 'shutdown.put_node' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/clone_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/clone_spec.rb index b99623382b..f56de899de 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/clone_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/clone_spec.rb @@ -24,7 +24,10 @@ '_snapshot/foo/bar/_clone/snapshot', {}, {}, - {} + {}, + { defined_params: + { repository: 'foo', snapshot: 'bar', target_snapshot: 'snapshot' }, + endpoint: 'snapshot.clone' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/create_repository_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/create_repository_spec.rb index 40d0bc0ffc..05eb80e837 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/create_repository_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/create_repository_spec.rb @@ -25,7 +25,9 @@ '_snapshot/foo', {}, {}, - {} + {}, + { defined_params: { repository: 'foo' }, + endpoint: 'snapshot.create_repository' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/create_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/create_spec.rb index c9f9fcc6c9..7c0a3f7688 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/create_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/create_spec.rb @@ -25,7 +25,9 @@ '_snapshot/foo/bar', {}, {}, - {} + {}, + { defined_params: { repository: 'foo', snapshot: 'bar' }, + endpoint: 'snapshot.create' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/delete_repository_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/delete_repository_spec.rb index 5e58be5f3d..9956f0b7ea 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/delete_repository_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/delete_repository_spec.rb @@ -25,7 +25,9 @@ url, {}, nil, - {} + {}, + { defined_params: { repository: 'foo' }, + endpoint: 'snapshot.delete_repository' } ] end @@ -43,6 +45,18 @@ '_snapshot/foo,bar' end + let(:expected_args) do + [ + 'DELETE', + url, + {}, + nil, + {}, + { defined_params: { repository: ['foo','bar'] }, + endpoint: 'snapshot.delete_repository' } + ] + end + it 'performs the request' do expect(client_double.snapshot.delete_repository(repository: ['foo','bar'])).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/delete_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/delete_spec.rb index ce3a2b5cee..10eb98e74a 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/delete_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/delete_spec.rb @@ -25,7 +25,9 @@ '_snapshot/foo/bar', {}, nil, - {} + {}, + { defined_params: { repository: 'foo', snapshot: 'bar' }, + endpoint: 'snapshot.delete' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/get_repository_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/get_repository_spec.rb index f9591818af..fe56e64c73 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/get_repository_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/get_repository_spec.rb @@ -25,7 +25,8 @@ '_snapshot/foo', {}, nil, - {} + {}, + { defined_params: { repository: 'foo' }, endpoint: 'snapshot.get_repository' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/get_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/get_spec.rb index 3bed381e03..7c70263ea3 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/get_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/get_spec.rb @@ -25,7 +25,9 @@ '_snapshot/foo/bar', {}, nil, - {} + {}, + { defined_params: { repository: 'foo', snapshot: 'bar' }, + endpoint: 'snapshot.get' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/repository_analize_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/repository_analize_spec.rb index dc17d73dca..d2378fa1b3 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/repository_analize_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/repository_analize_spec.rb @@ -24,7 +24,9 @@ url, {}, nil, - {} + {}, + { defined_params: { repository: 'foo' }, + endpoint: 'snapshot.repository_analyze' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/restore_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/restore_spec.rb index feaccf4035..fd0824dbfb 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/restore_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/restore_spec.rb @@ -24,7 +24,9 @@ '_snapshot/foo/bar/_restore', {}, nil, - {} + {}, + { defined_params: { repository: 'foo', snapshot: 'bar' }, + endpoint: 'snapshot.restore' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/status_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/status_spec.rb index d007a5792c..c20245db8b 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/status_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/status_spec.rb @@ -25,7 +25,8 @@ url, {}, nil, - {} + {}, + { endpoint: 'snapshot.status' } ] end @@ -42,6 +43,17 @@ '_snapshot/foo/bar/_status' end + let(:expected_args) do + [ + 'GET', + url, + {}, + nil, + {}, + { defined_params: { repository: 'foo', snapshot: 'bar' }, endpoint: 'snapshot.status' } + ] + end + it 'performs the request' do expect(client_double.snapshot.status(repository: 'foo', snapshot: 'bar')).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/verify_repository_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/verify_repository_spec.rb index fe0a026d52..fe72233ed5 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/verify_repository_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/snapshot/verify_repository_spec.rb @@ -24,7 +24,9 @@ '_snapshot/foo/_verify', {}, nil, - {} + {}, + { defined_params: { repository: 'foo' }, + endpoint: 'snapshot.verify_repository' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/sql/delete_async_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/sql/delete_async_spec.rb index 5a5d328d42..d901f791d3 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/sql/delete_async_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/sql/delete_async_spec.rb @@ -24,7 +24,8 @@ '_sql/async/delete/foo', {}, nil, - {} + {}, + { defined_params: { id: 'foo' }, endpoint: 'sql.delete_async' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/sql/get_async_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/sql/get_async_spec.rb index 0b4aaf611a..a510d863c7 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/sql/get_async_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/sql/get_async_spec.rb @@ -24,7 +24,8 @@ '_sql/async/foo', {}, nil, - {} + {}, + { defined_params: { id: 'foo' }, endpoint: 'sql.get_async' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/sql/get_async_stats_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/sql/get_async_stats_spec.rb index 32616ccb89..4f45410593 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/sql/get_async_stats_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/sql/get_async_stats_spec.rb @@ -24,7 +24,8 @@ '_sql/async/status/foo', {}, nil, - {} + {}, + { defined_params: { id: 'foo' }, endpoint: 'sql.get_async_status' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/synonyms/delete_synonym_rule_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/synonyms/delete_synonym_rule_spec.rb deleted file mode 100644 index 644796bf9d..0000000000 --- a/elasticsearch-api/spec/elasticsearch/api/actions/synonyms/delete_synonym_rule_spec.rb +++ /dev/null @@ -1,34 +0,0 @@ -# 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.synonyms#delete_synonym_rule' do - let(:expected_args) do - [ - 'DELETE', - '_synonyms/set/rule', - {}, - nil, - {} - ] - end - - it 'performs the request' do - expect(client_double.synonyms.delete_synonym_rule(set_id: 'set', rule_id: 'rule')).to be_a Elasticsearch::API::Response - end -end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/synonyms/delete_synonym_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/synonyms/delete_synonym_spec.rb deleted file mode 100644 index b6b792f76a..0000000000 --- a/elasticsearch-api/spec/elasticsearch/api/actions/synonyms/delete_synonym_spec.rb +++ /dev/null @@ -1,34 +0,0 @@ -# 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.synonyms#delete_synonym' do - let(:expected_args) do - [ - 'DELETE', - '_synonyms/foo', - {}, - nil, - {} - ] - end - - it 'performs the request' do - expect(client_double.synonyms.delete_synonym(id: 'foo')).to be_a Elasticsearch::API::Response - end -end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/synonyms/get_synonym_rule_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/synonyms/get_synonym_rule_spec.rb deleted file mode 100644 index d5ba7485b7..0000000000 --- a/elasticsearch-api/spec/elasticsearch/api/actions/synonyms/get_synonym_rule_spec.rb +++ /dev/null @@ -1,34 +0,0 @@ -# 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.synonyms#get_synonym_rule' do - let(:expected_args) do - [ - 'GET', - '_synonyms/foo/bar', - {}, - nil, - {} - ] - end - - it 'performs the request' do - expect(client_double.synonyms.get_synonym_rule(set_id: 'foo', rule_id: 'bar')).to be_a Elasticsearch::API::Response - end -end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/synonyms/get_synonym_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/synonyms/get_synonym_spec.rb deleted file mode 100644 index 53febb2b08..0000000000 --- a/elasticsearch-api/spec/elasticsearch/api/actions/synonyms/get_synonym_spec.rb +++ /dev/null @@ -1,34 +0,0 @@ -# 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.synonyms#get_synonym' do - let(:expected_args) do - [ - 'GET', - '_synonyms/foo', - {}, - nil, - {} - ] - end - - it 'performs the request' do - expect(client_double.synonyms.get_synonym(id: 'foo')).to be_a Elasticsearch::API::Response - end -end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/synonyms/get_synonyms_sets_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/synonyms/get_synonyms_sets_spec.rb deleted file mode 100644 index f1ec7a0fa9..0000000000 --- a/elasticsearch-api/spec/elasticsearch/api/actions/synonyms/get_synonyms_sets_spec.rb +++ /dev/null @@ -1,34 +0,0 @@ -# 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.synonyms#get_synonyms_sets' do - let(:expected_args) do - [ - 'GET', - '_synonyms', - {}, - nil, - {} - ] - end - - it 'performs the request' do - expect(client_double.synonyms.get_synonyms_sets).to be_a Elasticsearch::API::Response - end -end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/synonyms/put_synonym_rule_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/synonyms/put_synonym_rule_spec.rb deleted file mode 100644 index 0dfcdc91a3..0000000000 --- a/elasticsearch-api/spec/elasticsearch/api/actions/synonyms/put_synonym_rule_spec.rb +++ /dev/null @@ -1,34 +0,0 @@ -# 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.synonyms#put_synonym_rule' do - let(:expected_args) do - [ - 'PUT', - '_synonyms/set/rule', - {}, - {}, - {} - ] - end - - it 'performs the request' do - expect(client_double.synonyms.put_synonym_rule(body: {}, set_id: 'set', rule_id: 'rule')).to be_a Elasticsearch::API::Response - end -end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/synonyms/update_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/synonyms/update_spec.rb deleted file mode 100644 index 82a131a43d..0000000000 --- a/elasticsearch-api/spec/elasticsearch/api/actions/synonyms/update_spec.rb +++ /dev/null @@ -1,34 +0,0 @@ -# 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.synonyms#put_synonym' do - let(:expected_args) do - [ - 'PUT', - '_synonyms/foo', - {}, - {}, - {} - ] - end - - it 'performs the request' do - expect(client_double.synonyms.put_synonym(body: {}, id: 'foo')).to be_a Elasticsearch::API::Response - end -end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/tasks/cancel_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/tasks/cancel_spec.rb index 14c2b2eec0..5e6b8536c9 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/tasks/cancel_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/tasks/cancel_spec.rb @@ -24,7 +24,8 @@ url, {}, nil, - {} + {}, + { endpoint: 'tasks.cancel' } ] end @@ -42,6 +43,17 @@ '_tasks/foo/_cancel' end + let(:expected_args) do + [ + 'POST', + url, + {}, + nil, + {}, + { defined_params: { task_id: 'foo' }, endpoint: 'tasks.cancel' } + ] + end + it 'performs the request' do expect(client_double.tasks.cancel(task_id: 'foo')).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/tasks/get_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/tasks/get_spec.rb index 44c316d31c..6b9d60d010 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/tasks/get_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/tasks/get_spec.rb @@ -25,7 +25,8 @@ '_tasks/foo1', {}, nil, - {} + {}, + { defined_params: { task_id: 'foo1' }, endpoint: 'tasks.get' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/tasks/list_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/tasks/list_spec.rb index 73ec37ee8e..7da4ce67ea 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/tasks/list_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/tasks/list_spec.rb @@ -24,7 +24,8 @@ url, {}, nil, - {} + {}, + { endpoint: 'tasks.list' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/terms_enum_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/terms_enum_spec.rb index d09a52a42d..a183a53c31 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/terms_enum_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/terms_enum_spec.rb @@ -24,7 +24,8 @@ 'foo/_terms_enum', {}, body, - {} + {}, + { defined_params: { index: 'foo' }, endpoint: 'terms_enum' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/termvectors_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/termvectors_spec.rb index 2b07e1d749..86e2ad33ba 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/termvectors_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/termvectors_spec.rb @@ -24,7 +24,8 @@ url, params, body, - {} + {}, + { defined_params: { id: '123', index: 'foo' }, endpoint: 'termvectors' } ] end @@ -59,6 +60,17 @@ 'foo/_termvectors/123' end + let(:expected_args) do + [ + 'POST', + url, + params, + body, + {}, + { defined_params: { id: '123', index: 'foo' }, endpoint: '_termvector' } + ] + end + it 'performs the request' do expect(client_double.termvector(index: 'foo', id: '123', body: {})).to be_a Elasticsearch::API::Response end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/transform/schedule_now_transform_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/transform/schedule_now_transform_spec.rb index a0d5830b92..2c2f2ecec0 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/transform/schedule_now_transform_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/transform/schedule_now_transform_spec.rb @@ -24,7 +24,9 @@ '_transform/id/_schedule_now', {}, nil, - {} + {}, + { defined_params: { transform_id: 'id' }, + endpoint: 'transform.schedule_now_transform' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/update_by_query_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/update_by_query_spec.rb index 73d252b0e9..b67daa0b6c 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/update_by_query_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/update_by_query_spec.rb @@ -24,7 +24,8 @@ 'foo/_update_by_query', {}, nil, - {} + {}, + { defined_params: { index: 'foo' }, endpoint: 'update_by_query' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/update_document_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/update_document_spec.rb index 734addee26..5329b2806c 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/update_document_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/update_document_spec.rb @@ -24,7 +24,8 @@ url, params, body, - {} + {}, + { defined_params: { id: '1', index: 'foo' }, endpoint: 'update' } ] end @@ -83,6 +84,17 @@ {} end + let(:expected_args) do + [ + 'POST', + url, + params, + body, + {}, + { defined_params: { id: '1', index: 'foo^bar' }, endpoint: 'update' } + ] + end + it 'escapes the parts' do expect(client_double.update(index: 'foo^bar', id: '1', body: {})) end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/watcher/get_settings_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/watcher/get_settings_spec.rb index 0cf419b222..4554361c54 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/watcher/get_settings_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/watcher/get_settings_spec.rb @@ -24,7 +24,8 @@ '_watcher/settings', {}, nil, - {} + {}, + { endpoint: 'watcher.get_settings' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/actions/watcher/update_settings_spec.rb b/elasticsearch-api/spec/elasticsearch/api/actions/watcher/update_settings_spec.rb index b8e8a06364..56e0094429 100644 --- a/elasticsearch-api/spec/elasticsearch/api/actions/watcher/update_settings_spec.rb +++ b/elasticsearch-api/spec/elasticsearch/api/actions/watcher/update_settings_spec.rb @@ -17,14 +17,15 @@ require 'spec_helper' -describe 'client#watcher.get_settings' do +describe 'client#watcher.update_settings' do let(:expected_args) do [ 'PUT', '_watcher/settings', {}, {}, - {} + {}, + { endpoint: 'watcher.update_settings' } ] end diff --git a/elasticsearch-api/spec/elasticsearch/api/perform_request_spec.rb b/elasticsearch-api/spec/elasticsearch/api/perform_request_spec.rb new file mode 100644 index 0000000000..aac755d569 --- /dev/null +++ b/elasticsearch-api/spec/elasticsearch/api/perform_request_spec.rb @@ -0,0 +1,86 @@ +# 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' +require 'elastic-transport' +require_relative '../../../utils/endpoint_spec' +require_relative '../../../utils/thor/generator/files_helper' + +describe 'Perform request args' do + Elasticsearch::API::FilesHelper.files.each do |filepath| + spec = Elasticsearch::API::EndpointSpec.new(filepath) + next if spec.module_namespace.flatten.first == '_internal' + + # These are the path parts defined by the user in the method argument + defined_path_parts = spec.path_params.inject({}) do |params, part| + params.merge(part => 'testing') + end + + # These are the required params, we must pass them to the method even when testing + required_params = spec.required_parts.inject({}) do |params, part| + params.merge(part.to_sym => 'testing') + end + + let(:client_double) do + Class.new { include Elasticsearch::API }.new.tap do |client| + expect(client).to receive(:perform_request) do |_, _, _, _, _, request_params| + # The create method ends up becoming an 'index' request + if expected_perform_request_params[:endpoint] == 'create' + expected_perform_request_params[:endpoint] = 'index' + end + # Check that the expected hash is passed to the perform_request method + expect(request_params).to eq(expected_perform_request_params) + end.and_return(response_double) + end + end + + let(:response_double) do + double('response', status: 200, body: {}, headers: {}) + end + + context("'#{spec.endpoint_name}'") do + # The expected hash passed to perform_request contains the endpoint name and any defined path parts + let(:expected_perform_request_params) do + if defined_path_parts.empty? + { endpoint: spec.endpoint_name } + else + { endpoint: spec.endpoint_name, defined_params: defined_path_parts} + end + end + + if spec.path_parts.empty? + it "passes the endpoint id to the request" do + if spec.module_namespace.empty? + client_double.send(spec.method_name, required_params) + else + client_double.send(spec.module_namespace[0]).send(spec.method_name, required_params) + end + end + else + it "passes params to the request with the endpoint id: #{spec.path_parts.keys}" do + if spec.module_namespace.empty? + client_double.send(spec.method_name, required_params.merge(defined_path_parts)) + else + client_double.send( + spec.module_namespace[0]).send(spec.method_name, required_params.merge(defined_path_parts) + ) + end + end + end + end + end +end diff --git a/elasticsearch-api/utils/endpoint_spec.rb b/elasticsearch-api/utils/endpoint_spec.rb index 5c4e85a57b..748c2252a0 100644 --- a/elasticsearch-api/utils/endpoint_spec.rb +++ b/elasticsearch-api/utils/endpoint_spec.rb @@ -17,6 +17,8 @@ # encoding: UTF-8 +require_relative 'endpoint_specifics' + module Elasticsearch module API class EndpointSpec @@ -36,6 +38,7 @@ def initialize(filepath) @path_parts = parse_endpoint_parts(@spec) @params = @spec['params'] || {} @paths = @spec['url']['paths'].map { |b| b['path'] } if @spec['url'] + @path_params = path_variables.flatten.uniq.collect(&:to_sym) @http_method = parse_http_method(@spec) @deprecation_note = @spec['url']['paths'].last&.[]('deprecated') @http_path = parse_http_path(@paths) @@ -53,7 +56,9 @@ def initialize(filepath) :http_path, :required_parts, :http_method, - :namespace_depth + :namespace_depth, + :path_params, + :perform_request_opts def body @spec['body'] diff --git a/elasticsearch-api/utils/endpoint_specifics.rb b/elasticsearch-api/utils/endpoint_specifics.rb index a3a3a79522..acda999e46 100644 --- a/elasticsearch-api/utils/endpoint_specifics.rb +++ b/elasticsearch-api/utils/endpoint_specifics.rb @@ -84,7 +84,7 @@ def module_name_helper(name) def ping_perform_request <<~SRC begin - perform_request(method, path, params, body, headers).status == 200 ? true : false + perform_request(method, path, params, body, headers, request_opts).status == 200 ? true : false rescue Exception => e if e.class.to_s =~ /NotFound|ConnectionFailed/ || e.message =~ /Not\s*Found|404|ConnectionFailed/i false diff --git a/elasticsearch-api/utils/thor/generate_source.rb b/elasticsearch-api/utils/thor/generate_source.rb index e9ac710b4d..e0db8a6bc7 100644 --- a/elasticsearch-api/utils/thor/generate_source.rb +++ b/elasticsearch-api/utils/thor/generate_source.rb @@ -23,7 +23,6 @@ require 'coderay' require 'pry' require_relative 'generator/files_helper' -require_relative '../endpoint_specifics' require_relative '../endpoint_spec' module Elasticsearch diff --git a/elasticsearch-api/utils/thor/templates/_perform_request.erb b/elasticsearch-api/utils/thor/templates/_perform_request.erb index 3b0095c0ea..fcb6bb4f03 100644 --- a/elasticsearch-api/utils/thor/templates/_perform_request.erb +++ b/elasticsearch-api/utils/thor/templates/_perform_request.erb @@ -20,30 +20,30 @@ <%= self.send("#{@spec.method_name}_body_helper".to_s) %> headers.merge!("Content-Type" => "application/x-ndjson") Elasticsearch::API::Response.new( - perform_request(method, path, params, payload, headers) + perform_request(method, path, params, payload, headers, request_opts) ) <%- elsif @spec.method_name == 'ping' -%> <%= ping_perform_request %> <%- else -%> <%- if needs_ignore_404?(@spec.endpoint_name) %> Utils.__rescue_from_not_found do - perform_request(method, path, params, body, headers).status == 200 ? true : false + perform_request(method, path, params, body, headers, request_opts).status == 200 ? true : false end <%- elsif needs_complex_ignore_404?(@spec.endpoint_name) -%> if Array(arguments[:ignore]).include?(404) Utils.__rescue_from_not_found { Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) } else Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) end <%- else -%> Elasticsearch::API::Response.new( - perform_request(method, path, params, body, headers) + perform_request(method, path, params, body, headers, request_opts) ) <%- end -%> <%- end -%> diff --git a/elasticsearch-api/utils/thor/templates/method.erb b/elasticsearch-api/utils/thor/templates/method.erb index af6e820fb2..ef7218792d 100644 --- a/elasticsearch-api/utils/thor/templates/method.erb +++ b/elasticsearch-api/utils/thor/templates/method.erb @@ -24,6 +24,15 @@ module Elasticsearch <%= ERB.new(File.new("./thor/templates/_documentation_top.erb").read, trim_mode: '-').result(binding) -%> <%# Method definition -%> <%= ' '*(@spec.namespace_depth+3) -%>def <%= @spec.method_name %>(arguments = {}) + request_opts = { endpoint: arguments[:endpoint] || "<%= @spec.endpoint_name %>" } +<%- unless @spec.path_params.empty? %> + defined_params =<%= @spec.path_params %>.inject({}) do |set_variables, variable| + set_variables[variable] = arguments[variable] if arguments.key?(variable) + set_variables + end + request_opts[:defined_params] = defined_params unless defined_params.empty? +<%- end %> +<%- %> <%- if @spec.endpoint_name == 'create' -%> <%= ' '*(@spec.namespace_depth+3) %>if arguments[:id] <%= ' '*(@spec.namespace_depth+3) %> index arguments.update op_type: 'create' diff --git a/elasticsearch/elasticsearch.gemspec b/elasticsearch/elasticsearch.gemspec index 7c57a9c751..9b8e612830 100644 --- a/elasticsearch/elasticsearch.gemspec +++ b/elasticsearch/elasticsearch.gemspec @@ -45,14 +45,7 @@ Gem::Specification.new do |s| s.required_ruby_version = '>= 2.5' - transport_version = ENV.fetch('TRANSPORT_VERSION', '8') - if ['8', 'main'].include? transport_version - s.add_dependency 'elastic-transport', '~> 8' - else - major_version = transport_version.gsub(/[0-9]+$/, '') - next_minor_version = transport_version.gsub(/[0-9]+\./, '').to_i + 1 - s.add_dependency 'elastic-transport', "~> #{transport_version}", "< #{major_version}#{next_minor_version}" - end + s.add_dependency 'elastic-transport', '~> 8.3' s.add_dependency 'elasticsearch-api', '8.11.0' diff --git a/elasticsearch/lib/elasticsearch.rb b/elasticsearch/lib/elasticsearch.rb index 229f198394..04fb012759 100644 --- a/elasticsearch/lib/elasticsearch.rb +++ b/elasticsearch/lib/elasticsearch.rb @@ -59,7 +59,11 @@ def method_missing(name, *args, &block) super elsif name == :perform_request # The signature for perform_request is: - # method, path, params, body, headers + # method, path, params, body, headers, opts + # The last arg is opts, which shouldn't be sent when `perform_request` is called + # directly. Check if :endpoint is a key, which means it's the extra identifier + # used for OpenTelemetry. + args.pop if args[-1][:endpoint] if (opaque_id = args[2]&.delete(:opaque_id)) headers = args[4] || {} opaque_id = @opaque_id_prefix ? "#{@opaque_id_prefix}#{opaque_id}" : opaque_id diff --git a/elasticsearch/spec/unit/headers_spec.rb b/elasticsearch/spec/unit/headers_spec.rb index 7d6fde7798..48a072b2fc 100644 --- a/elasticsearch/spec/unit/headers_spec.rb +++ b/elasticsearch/spec/unit/headers_spec.rb @@ -26,7 +26,7 @@ allow(client).to receive(:perform_request) { OpenStruct.new(body: '') } expect { client.search(headers: headers) }.not_to raise_error expect(client).to have_received(:perform_request) - .with('GET', '_search', {}, nil, headers) + .with('GET', '_search', {}, nil, headers, { endpoint: 'search' }) end end