elasticsearch-api 7.13.0 → 7.17.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +5 -5
- data/README.md +18 -39
- data/Rakefile +2 -16
- data/elasticsearch-api.gemspec +14 -8
- data/lib/elasticsearch/api/actions/bulk.rb +2 -2
- data/lib/elasticsearch/api/actions/cat/aliases.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/allocation.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/count.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/fielddata.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/health.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/help.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/indices.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/master.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/nodeattrs.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/nodes.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/pending_tasks.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/plugins.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/recovery.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/repositories.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/segments.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/shards.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/snapshots.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/tasks.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/templates.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/thread_pool.rb +1 -1
- data/lib/elasticsearch/api/actions/clear_scroll.rb +1 -1
- data/lib/elasticsearch/api/actions/close_point_in_time.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/allocation_explain.rb +3 -3
- data/lib/elasticsearch/api/actions/cluster/delete_component_template.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/delete_voting_config_exclusions.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/exists_component_template.rb +2 -1
- data/lib/elasticsearch/api/actions/cluster/get_component_template.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/get_settings.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/health.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/pending_tasks.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/post_voting_config_exclusions.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/put_component_template.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/put_settings.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/remote_info.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/reroute.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/state.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/stats.rb +1 -1
- data/lib/elasticsearch/api/actions/count.rb +7 -2
- data/lib/elasticsearch/api/actions/create.rb +1 -1
- data/lib/elasticsearch/api/actions/dangling_indices/delete_dangling_index.rb +1 -1
- data/lib/elasticsearch/api/actions/dangling_indices/import_dangling_index.rb +1 -1
- data/lib/elasticsearch/api/actions/dangling_indices/list_dangling_indices.rb +1 -1
- data/lib/elasticsearch/api/actions/delete.rb +1 -1
- data/lib/elasticsearch/api/actions/delete_by_query.rb +1 -7
- data/lib/elasticsearch/api/actions/delete_by_query_rethrottle.rb +1 -1
- data/lib/elasticsearch/api/actions/delete_script.rb +1 -1
- data/lib/elasticsearch/api/actions/exists.rb +2 -1
- data/lib/elasticsearch/api/actions/exists_source.rb +2 -1
- data/lib/elasticsearch/api/actions/explain.rb +6 -6
- data/lib/elasticsearch/api/actions/features/get_features.rb +1 -1
- data/lib/elasticsearch/api/actions/features/reset_features.rb +1 -1
- data/lib/elasticsearch/api/actions/field_caps.rb +6 -6
- data/lib/elasticsearch/api/actions/get.rb +1 -1
- data/lib/elasticsearch/api/actions/get_script.rb +1 -1
- data/lib/elasticsearch/api/actions/get_script_context.rb +1 -5
- data/lib/elasticsearch/api/actions/get_script_languages.rb +1 -5
- data/lib/elasticsearch/api/actions/get_source.rb +1 -1
- data/lib/elasticsearch/api/actions/index.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/add_block.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/analyze.rb +6 -6
- data/lib/elasticsearch/api/actions/indices/clear_cache.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/clone.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/close.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/create.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/delete.rb +2 -2
- data/lib/elasticsearch/api/actions/indices/delete_alias.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/delete_index_template.rb +6 -2
- data/lib/elasticsearch/api/actions/indices/delete_template.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/disk_usage.rb +68 -0
- data/lib/elasticsearch/api/actions/indices/exists.rb +2 -1
- data/lib/elasticsearch/api/actions/indices/exists_alias.rb +2 -1
- data/lib/elasticsearch/api/actions/indices/exists_index_template.rb +6 -2
- data/lib/elasticsearch/api/actions/indices/exists_template.rb +2 -1
- data/lib/elasticsearch/api/actions/indices/exists_type.rb +2 -1
- data/lib/elasticsearch/api/actions/indices/field_usage_stats.rb +66 -0
- data/lib/elasticsearch/api/actions/indices/flush.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/flush_synced.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/forcemerge.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/get.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/get_alias.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/get_field_mapping.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/get_index_template.rb +2 -2
- data/lib/elasticsearch/api/actions/indices/get_mapping.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/get_settings.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/get_template.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/get_upgrade.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/open.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/put_alias.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/put_index_template.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/put_mapping.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/put_settings.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/put_template.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/recovery.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/refresh.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/resolve_index.rb +1 -5
- data/lib/elasticsearch/api/actions/indices/rollover.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/segments.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/shard_stores.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/shrink.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/simulate_index_template.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/simulate_template.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/split.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/stats.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/update_aliases.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/upgrade.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/validate_query.rb +8 -8
- data/lib/elasticsearch/api/actions/info.rb +1 -1
- data/lib/elasticsearch/api/actions/ingest/delete_pipeline.rb +1 -1
- data/lib/elasticsearch/api/actions/ingest/geo_ip_stats.rb +1 -1
- data/lib/elasticsearch/api/actions/ingest/get_pipeline.rb +1 -1
- data/lib/elasticsearch/api/actions/ingest/processor_grok.rb +1 -1
- data/lib/elasticsearch/api/actions/ingest/put_pipeline.rb +3 -1
- data/lib/elasticsearch/api/actions/ingest/simulate.rb +1 -1
- data/lib/elasticsearch/api/actions/mget.rb +1 -1
- data/lib/elasticsearch/api/actions/msearch.rb +3 -3
- data/lib/elasticsearch/api/actions/msearch_template.rb +3 -3
- data/lib/elasticsearch/api/actions/mtermvectors.rb +8 -8
- data/lib/elasticsearch/api/actions/nodes/clear_repositories_metering_archive.rb +56 -0
- data/lib/elasticsearch/api/actions/{snapshot/get_features.rb → nodes/get_repositories_metering_info.rb} +15 -14
- data/lib/elasticsearch/api/actions/nodes/hot_threads.rb +4 -2
- data/lib/elasticsearch/api/actions/nodes/info.rb +2 -2
- data/lib/elasticsearch/api/actions/nodes/reload_secure_settings.rb +1 -1
- data/lib/elasticsearch/api/actions/nodes/stats.rb +2 -2
- data/lib/elasticsearch/api/actions/nodes/usage.rb +1 -1
- data/lib/elasticsearch/api/actions/open_point_in_time.rb +5 -7
- data/lib/elasticsearch/api/actions/ping.rb +3 -3
- data/lib/elasticsearch/api/actions/put_script.rb +1 -1
- data/lib/elasticsearch/api/actions/rank_eval.rb +1 -5
- data/lib/elasticsearch/api/actions/reindex.rb +1 -1
- data/lib/elasticsearch/api/actions/reindex_rethrottle.rb +1 -1
- data/lib/elasticsearch/api/actions/render_search_template.rb +6 -6
- data/lib/elasticsearch/api/actions/scripts_painless_execute.rb +2 -2
- data/lib/elasticsearch/api/actions/scroll.rb +6 -6
- data/lib/elasticsearch/api/actions/search.rb +8 -8
- data/lib/elasticsearch/api/actions/search_mvt.rb +85 -0
- data/lib/elasticsearch/api/actions/search_shards.rb +1 -1
- data/lib/elasticsearch/api/actions/search_template.rb +2 -2
- data/lib/elasticsearch/api/actions/shutdown/delete_node.rb +1 -5
- data/lib/elasticsearch/api/actions/shutdown/get_node.rb +1 -5
- data/lib/elasticsearch/api/actions/shutdown/put_node.rb +1 -5
- data/lib/elasticsearch/api/actions/snapshot/cleanup_repository.rb +1 -1
- data/lib/elasticsearch/api/actions/snapshot/clone.rb +1 -1
- data/lib/elasticsearch/api/actions/snapshot/create.rb +1 -1
- data/lib/elasticsearch/api/actions/snapshot/create_repository.rb +1 -1
- data/lib/elasticsearch/api/actions/snapshot/delete.rb +1 -1
- data/lib/elasticsearch/api/actions/snapshot/delete_repository.rb +1 -1
- data/lib/elasticsearch/api/actions/snapshot/get.rb +17 -1
- data/lib/elasticsearch/api/actions/snapshot/get_repository.rb +1 -1
- data/lib/elasticsearch/api/actions/snapshot/repository_analyze.rb +76 -0
- data/lib/elasticsearch/api/actions/snapshot/restore.rb +1 -1
- data/lib/elasticsearch/api/actions/snapshot/status.rb +1 -1
- data/lib/elasticsearch/api/actions/snapshot/verify_repository.rb +1 -1
- data/lib/elasticsearch/api/actions/tasks/cancel.rb +1 -1
- data/lib/elasticsearch/api/actions/tasks/get.rb +1 -1
- data/lib/elasticsearch/api/actions/tasks/list.rb +1 -1
- data/lib/elasticsearch/api/actions/termvectors.rb +11 -10
- data/lib/elasticsearch/api/actions/update.rb +1 -1
- data/lib/elasticsearch/api/actions/update_by_query.rb +1 -7
- data/lib/elasticsearch/api/actions/update_by_query_rethrottle.rb +1 -1
- data/lib/elasticsearch/api/{actions/remote/info.rb → namespace/security.rb} +12 -13
- data/lib/elasticsearch/api/utils.rb +7 -3
- data/lib/elasticsearch/api/version.rb +1 -1
- data/spec/elasticsearch/api/actions/count_spec.rb +2 -5
- data/spec/elasticsearch/api/actions/indices/clear_cache_spec.rb +16 -3
- data/spec/elasticsearch/api/actions/{abort_benchmark_spec.rb → indices/disk_usage_spec.rb} +19 -5
- data/spec/elasticsearch/api/actions/{benchmark_spec.rb → indices/field_usage_stats_spec.rb} +18 -6
- data/spec/elasticsearch/api/actions/nodes/clear_repositories_metering_archive_spec.rb +51 -0
- data/spec/elasticsearch/api/actions/{remote/info_spec.rb → nodes/get_repositories_metering_info_spec.rb} +17 -8
- data/spec/elasticsearch/api/actions/open_point_in_time_spec.rb +2 -12
- data/spec/elasticsearch/api/actions/search_mvt_spec.rb +52 -0
- data/spec/elasticsearch/api/actions/snapshot/{get_features_spec.rb → repository_analize_spec.rb} +15 -5
- data/spec/elasticsearch/api/rest_api_yaml_spec.rb +18 -6
- data/spec/elasticsearch/api/utils_spec.rb +9 -21
- data/spec/rest_yaml_tests_helper.rb +64 -10
- data/spec/spec_helper.rb +13 -2
- data/utils/README.md +6 -1
- data/utils/thor/.rubocop.yml +2 -0
- data/utils/thor/generate_source.rb +17 -11
- data/utils/thor/generator/endpoint_specifics.rb +3 -1
- data/utils/thor/generator/files_helper.rb +1 -1
- data/utils/thor/templates/_documentation_top.erb +19 -0
- data/utils/thor/templates/_method_setup.erb +18 -0
- data/utils/thor/templates/_params_registry.erb +19 -0
- data/utils/thor/templates/_perform_request.erb +19 -1
- data/utils/thor/templates/test.erb +16 -3
- data/utils/thor/templates/test_helper.rb +0 -4
- metadata +38 -41
- data/lib/elasticsearch/api/actions/abort_benchmark.rb +0 -41
- data/lib/elasticsearch/api/actions/benchmark.rb +0 -81
- data/lib/elasticsearch/api/actions/delete_by_rethrottle.rb +0 -47
- data/lib/elasticsearch/api/actions/nodes/shutdown.rb +0 -56
- data/spec/elasticsearch/api/actions/nodes/shutdown_spec.rb +0 -76
@@ -26,7 +26,7 @@ module Elasticsearch
|
|
26
26
|
# @option arguments [Time] :master_timeout Explicit operation timeout for connection to master node
|
27
27
|
# @option arguments [Hash] :headers Custom HTTP headers
|
28
28
|
#
|
29
|
-
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.
|
29
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.17/modules-snapshots.html
|
30
30
|
#
|
31
31
|
def delete(arguments = {})
|
32
32
|
raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository]
|
@@ -26,7 +26,7 @@ module Elasticsearch
|
|
26
26
|
# @option arguments [Time] :timeout Explicit operation timeout
|
27
27
|
# @option arguments [Hash] :headers Custom HTTP headers
|
28
28
|
#
|
29
|
-
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.
|
29
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.17/modules-snapshots.html
|
30
30
|
#
|
31
31
|
def delete_repository(arguments = {})
|
32
32
|
raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository]
|
@@ -26,10 +26,18 @@ module Elasticsearch
|
|
26
26
|
# @option arguments [Time] :master_timeout Explicit operation timeout for connection to master node
|
27
27
|
# @option arguments [Boolean] :ignore_unavailable Whether to ignore unavailable snapshots, defaults to false which means a SnapshotMissingException is thrown
|
28
28
|
# @option arguments [Boolean] :index_details Whether to include details of each index in the snapshot, if those details are available. Defaults to false.
|
29
|
+
# @option arguments [Boolean] :include_repository Whether to include the repository name in the snapshot info. Defaults to true.
|
30
|
+
# @option arguments [String] :sort Allows setting a sort order for the result. Defaults to start_time (options: start_time, duration, name, repository, index_count, shard_count, failed_shard_count)
|
31
|
+
# @option arguments [Integer] :size Maximum number of snapshots to return. Defaults to 0 which means return all that match without limit.
|
32
|
+
# @option arguments [String] :order Sort order (options: asc, desc)
|
33
|
+
# @option arguments [String] :from_sort_value Value of the current sort column at which to start retrieval.
|
34
|
+
# @option arguments [String] :after Offset identifier to start pagination from as returned by the 'next' field in the response body.
|
35
|
+
# @option arguments [Integer] :offset Numeric offset to start pagination based on the snapshots matching the request. Defaults to 0
|
36
|
+
# @option arguments [String] :slm_policy_filter Filter snapshots by a comma-separated list of SLM policy names that snapshots belong to. Accepts wildcards. Use the special pattern '_none' to match snapshots without an SLM policy
|
29
37
|
# @option arguments [Boolean] :verbose Whether to show verbose snapshot info or only show the basic info found in the repository index blob
|
30
38
|
# @option arguments [Hash] :headers Custom HTTP headers
|
31
39
|
#
|
32
|
-
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.
|
40
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.17/modules-snapshots.html
|
33
41
|
#
|
34
42
|
def get(arguments = {})
|
35
43
|
raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository]
|
@@ -62,6 +70,14 @@ module Elasticsearch
|
|
62
70
|
:master_timeout,
|
63
71
|
:ignore_unavailable,
|
64
72
|
:index_details,
|
73
|
+
:include_repository,
|
74
|
+
:sort,
|
75
|
+
:size,
|
76
|
+
:order,
|
77
|
+
:from_sort_value,
|
78
|
+
:after,
|
79
|
+
:offset,
|
80
|
+
:slm_policy_filter,
|
65
81
|
:verbose
|
66
82
|
].freeze)
|
67
83
|
end
|
@@ -26,7 +26,7 @@ module Elasticsearch
|
|
26
26
|
# @option arguments [Boolean] :local Return local information, do not retrieve the state from master node (default: false)
|
27
27
|
# @option arguments [Hash] :headers Custom HTTP headers
|
28
28
|
#
|
29
|
-
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.
|
29
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.17/modules-snapshots.html
|
30
30
|
#
|
31
31
|
def get_repository(arguments = {})
|
32
32
|
headers = arguments.delete(:headers) || {}
|
@@ -0,0 +1,76 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
18
|
+
module Elasticsearch
|
19
|
+
module API
|
20
|
+
module Snapshot
|
21
|
+
module Actions
|
22
|
+
# Analyzes a repository for correctness and performance
|
23
|
+
#
|
24
|
+
# @option arguments [String] :repository A repository name
|
25
|
+
# @option arguments [Number] :blob_count Number of blobs to create during the test. Defaults to 100.
|
26
|
+
# @option arguments [Number] :concurrency Number of operations to run concurrently during the test. Defaults to 10.
|
27
|
+
# @option arguments [Number] :read_node_count Number of nodes on which to read a blob after writing. Defaults to 10.
|
28
|
+
# @option arguments [Number] :early_read_node_count Number of nodes on which to perform an early read on a blob, i.e. before writing has completed. Early reads are rare actions so the 'rare_action_probability' parameter is also relevant. Defaults to 2.
|
29
|
+
# @option arguments [Number] :seed Seed for the random number generator used to create the test workload. Defaults to a random value.
|
30
|
+
# @option arguments [Number] :rare_action_probability Probability of taking a rare action such as an early read or an overwrite. Defaults to 0.02.
|
31
|
+
# @option arguments [String] :max_blob_size Maximum size of a blob to create during the test, e.g '1gb' or '100mb'. Defaults to '10mb'.
|
32
|
+
# @option arguments [String] :max_total_data_size Maximum total size of all blobs to create during the test, e.g '1tb' or '100gb'. Defaults to '1gb'.
|
33
|
+
# @option arguments [Time] :timeout Explicit operation timeout. Defaults to '30s'.
|
34
|
+
# @option arguments [Boolean] :detailed Whether to return detailed results or a summary. Defaults to 'false' so that only the summary is returned.
|
35
|
+
# @option arguments [Boolean] :rarely_abort_writes Whether to rarely abort writes before they complete. Defaults to 'true'.
|
36
|
+
# @option arguments [Hash] :headers Custom HTTP headers
|
37
|
+
#
|
38
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.17/modules-snapshots.html
|
39
|
+
#
|
40
|
+
def repository_analyze(arguments = {})
|
41
|
+
raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository]
|
42
|
+
|
43
|
+
headers = arguments.delete(:headers) || {}
|
44
|
+
|
45
|
+
arguments = arguments.clone
|
46
|
+
|
47
|
+
_repository = arguments.delete(:repository)
|
48
|
+
|
49
|
+
method = Elasticsearch::API::HTTP_POST
|
50
|
+
path = "_snapshot/#{Utils.__listify(_repository)}/_analyze"
|
51
|
+
params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
|
52
|
+
|
53
|
+
body = nil
|
54
|
+
perform_request(method, path, params, body, headers).body
|
55
|
+
end
|
56
|
+
|
57
|
+
# Register this action with its valid params when the module is loaded.
|
58
|
+
#
|
59
|
+
# @since 6.2.0
|
60
|
+
ParamsRegistry.register(:repository_analyze, [
|
61
|
+
:blob_count,
|
62
|
+
:concurrency,
|
63
|
+
:read_node_count,
|
64
|
+
:early_read_node_count,
|
65
|
+
:seed,
|
66
|
+
:rare_action_probability,
|
67
|
+
:max_blob_size,
|
68
|
+
:max_total_data_size,
|
69
|
+
:timeout,
|
70
|
+
:detailed,
|
71
|
+
:rarely_abort_writes
|
72
|
+
].freeze)
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
@@ -28,7 +28,7 @@ module Elasticsearch
|
|
28
28
|
# @option arguments [Hash] :headers Custom HTTP headers
|
29
29
|
# @option arguments [Hash] :body Details of what to restore
|
30
30
|
#
|
31
|
-
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.
|
31
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.17/modules-snapshots.html
|
32
32
|
#
|
33
33
|
def restore(arguments = {})
|
34
34
|
raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository]
|
@@ -27,7 +27,7 @@ module Elasticsearch
|
|
27
27
|
# @option arguments [Boolean] :ignore_unavailable Whether to ignore unavailable snapshots, defaults to false which means a SnapshotMissingException is thrown
|
28
28
|
# @option arguments [Hash] :headers Custom HTTP headers
|
29
29
|
#
|
30
|
-
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.
|
30
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.17/modules-snapshots.html
|
31
31
|
#
|
32
32
|
def status(arguments = {})
|
33
33
|
headers = arguments.delete(:headers) || {}
|
@@ -26,7 +26,7 @@ module Elasticsearch
|
|
26
26
|
# @option arguments [Time] :timeout Explicit operation timeout
|
27
27
|
# @option arguments [Hash] :headers Custom HTTP headers
|
28
28
|
#
|
29
|
-
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.
|
29
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.17/modules-snapshots.html
|
30
30
|
#
|
31
31
|
def verify_repository(arguments = {})
|
32
32
|
raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository]
|
@@ -32,7 +32,7 @@ module Elasticsearch
|
|
32
32
|
# @option arguments [Boolean] :wait_for_completion Should the request block until the cancellation of the task and its descendant tasks is completed. Defaults to false
|
33
33
|
# @option arguments [Hash] :headers Custom HTTP headers
|
34
34
|
#
|
35
|
-
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.
|
35
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.17/tasks.html
|
36
36
|
#
|
37
37
|
def cancel(arguments = {})
|
38
38
|
headers = arguments.delete(:headers) || {}
|
@@ -30,7 +30,7 @@ module Elasticsearch
|
|
30
30
|
# @option arguments [Time] :timeout Explicit operation timeout
|
31
31
|
# @option arguments [Hash] :headers Custom HTTP headers
|
32
32
|
#
|
33
|
-
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.
|
33
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.17/tasks.html
|
34
34
|
#
|
35
35
|
def get(arguments = {})
|
36
36
|
headers = arguments.delete(:headers) || {}
|
@@ -34,7 +34,7 @@ module Elasticsearch
|
|
34
34
|
# @option arguments [Time] :timeout Explicit operation timeout
|
35
35
|
# @option arguments [Hash] :headers Custom HTTP headers
|
36
36
|
#
|
37
|
-
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.
|
37
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.17/tasks.html
|
38
38
|
#
|
39
39
|
def list(arguments = {})
|
40
40
|
headers = arguments.delete(:headers) || {}
|
@@ -42,7 +42,7 @@ module Elasticsearch
|
|
42
42
|
# Deprecated since version 7.0.0
|
43
43
|
#
|
44
44
|
#
|
45
|
-
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.
|
45
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.17/docs-termvectors.html
|
46
46
|
#
|
47
47
|
def termvectors(arguments = {})
|
48
48
|
raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
|
@@ -64,15 +64,15 @@ module Elasticsearch
|
|
64
64
|
end
|
65
65
|
|
66
66
|
endpoint = arguments.delete(:endpoint) || '_termvectors'
|
67
|
-
path
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
67
|
+
path = if _index && _type && _id
|
68
|
+
"#{Utils.__listify(_index)}/#{Utils.__listify(_type)}/#{Utils.__listify(_id)}/#{endpoint}"
|
69
|
+
elsif _index && _type
|
70
|
+
"#{Utils.__listify(_index)}/#{Utils.__listify(_type)}/#{endpoint}"
|
71
|
+
elsif _index && _id
|
72
|
+
"#{Utils.__listify(_index)}/#{endpoint}/#{Utils.__listify(_id)}"
|
73
|
+
else
|
74
|
+
"#{Utils.__listify(_index)}/#{endpoint}"
|
75
|
+
end
|
76
76
|
|
77
77
|
params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
|
78
78
|
|
@@ -85,6 +85,7 @@ module Elasticsearch
|
|
85
85
|
def termvector(arguments = {})
|
86
86
|
termvectors(arguments.merge endpoint: '_termvector')
|
87
87
|
end
|
88
|
+
|
88
89
|
# Register this action with its valid params when the module is loaded.
|
89
90
|
#
|
90
91
|
# @since 6.2.0
|
@@ -43,7 +43,7 @@ module Elasticsearch
|
|
43
43
|
# Deprecated since version 7.0.0
|
44
44
|
#
|
45
45
|
#
|
46
|
-
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.
|
46
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.17/docs-update.html
|
47
47
|
#
|
48
48
|
def update(arguments = {})
|
49
49
|
raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
|
@@ -43,9 +43,6 @@ module Elasticsearch
|
|
43
43
|
# @option arguments [Number] :size Deprecated, please use `max_docs` instead
|
44
44
|
# @option arguments [Number] :max_docs Maximum number of documents to process (default: all documents)
|
45
45
|
# @option arguments [List] :sort A comma-separated list of <field>:<direction> pairs
|
46
|
-
# @option arguments [List] :_source True or false to return the _source field or not, or a list of fields to return
|
47
|
-
# @option arguments [List] :_source_excludes A list of fields to exclude from the returned _source field
|
48
|
-
# @option arguments [List] :_source_includes A list of fields to extract and return from the _source field
|
49
46
|
# @option arguments [Number] :terminate_after The maximum number of documents to collect for each shard, upon reaching which the query execution will terminate early.
|
50
47
|
# @option arguments [List] :stats Specific 'tag' of the request for logging and statistical purposes
|
51
48
|
# @option arguments [Boolean] :version Specify whether to return document version as part of a hit
|
@@ -66,7 +63,7 @@ module Elasticsearch
|
|
66
63
|
# Deprecated since version 7.0.0
|
67
64
|
#
|
68
65
|
#
|
69
|
-
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.
|
66
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.17/docs-update-by-query.html
|
70
67
|
#
|
71
68
|
def update_by_query(arguments = {})
|
72
69
|
raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
|
@@ -115,9 +112,6 @@ module Elasticsearch
|
|
115
112
|
:size,
|
116
113
|
:max_docs,
|
117
114
|
:sort,
|
118
|
-
:_source,
|
119
|
-
:_source_excludes,
|
120
|
-
:_source_includes,
|
121
115
|
:terminate_after,
|
122
116
|
:stats,
|
123
117
|
:version,
|
@@ -24,7 +24,7 @@ module Elasticsearch
|
|
24
24
|
# @option arguments [Number] :requests_per_second The throttle to set on this request in floating sub-requests per second. -1 means set no throttle. (*Required*)
|
25
25
|
# @option arguments [Hash] :headers Custom HTTP headers
|
26
26
|
#
|
27
|
-
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.
|
27
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.17/docs-update-by-query.html
|
28
28
|
#
|
29
29
|
def update_by_query_rethrottle(arguments = {})
|
30
30
|
raise ArgumentError, "Required argument 'task_id' missing" unless arguments[:task_id]
|
@@ -17,20 +17,19 @@
|
|
17
17
|
|
18
18
|
module Elasticsearch
|
19
19
|
module API
|
20
|
-
module
|
21
|
-
module Actions
|
22
|
-
# Returns all of the configured remote cluster information
|
23
|
-
#
|
24
|
-
# @see http://www.elastic.co/guide/en/elasticsearch/reference/master/remote-info.html
|
25
|
-
#
|
26
|
-
def info(arguments = {})
|
27
|
-
method = HTTP_GET
|
28
|
-
path = "_remote/info"
|
29
|
-
params = {}
|
30
|
-
body = nil
|
20
|
+
module Security
|
21
|
+
module Actions; end
|
31
22
|
|
32
|
-
|
33
|
-
|
23
|
+
# Client for the "security" namespace (includes the {Security::Actions} methods)
|
24
|
+
#
|
25
|
+
class SecurityClient
|
26
|
+
include Common::Client, Common::Client::Base, Security::Actions
|
27
|
+
end
|
28
|
+
|
29
|
+
# Proxy method for {SecurityClient}, available in the receiving object
|
30
|
+
#
|
31
|
+
def security
|
32
|
+
@security ||= SecurityClient.new(self)
|
34
33
|
end
|
35
34
|
end
|
36
35
|
end
|
@@ -14,14 +14,13 @@
|
|
14
14
|
# KIND, either express or implied. See the License for the
|
15
15
|
# specific language governing permissions and limitations
|
16
16
|
# under the License.
|
17
|
+
require 'erb'
|
17
18
|
|
18
19
|
module Elasticsearch
|
19
20
|
module API
|
20
|
-
|
21
21
|
# Generic utility methods
|
22
22
|
#
|
23
23
|
module Utils
|
24
|
-
|
25
24
|
# URL-escape a string
|
26
25
|
#
|
27
26
|
# @example
|
@@ -31,7 +30,7 @@ module Elasticsearch
|
|
31
30
|
# @api private
|
32
31
|
def __escape(string)
|
33
32
|
return string if string == '*'
|
34
|
-
|
33
|
+
ERB::Util.url_encode(string.to_s)
|
35
34
|
end
|
36
35
|
|
37
36
|
# Create a "list" of values from arguments, ignoring nil values and encoding special characters.
|
@@ -282,6 +281,11 @@ module Elasticsearch
|
|
282
281
|
end
|
283
282
|
end
|
284
283
|
|
284
|
+
def ndjson_headers(headers)
|
285
|
+
headers.merge!('Content-Type' => 'application/x-ndjson') unless ['1', 'true'].include?(ENV['ELASTIC_CLIENT_APIVERSIONING'])
|
286
|
+
headers
|
287
|
+
end
|
288
|
+
|
285
289
|
extend self
|
286
290
|
end
|
287
291
|
end
|
@@ -18,10 +18,9 @@
|
|
18
18
|
require 'spec_helper'
|
19
19
|
|
20
20
|
describe 'client#count' do
|
21
|
-
|
22
21
|
let(:expected_args) do
|
23
22
|
[
|
24
|
-
'
|
23
|
+
'GET',
|
25
24
|
'_count',
|
26
25
|
{},
|
27
26
|
nil,
|
@@ -34,10 +33,9 @@ describe 'client#count' do
|
|
34
33
|
end
|
35
34
|
|
36
35
|
context 'when an index and type are specified' do
|
37
|
-
|
38
36
|
let(:expected_args) do
|
39
37
|
[
|
40
|
-
'
|
38
|
+
'GET',
|
41
39
|
'foo,bar/t1,t2/_count',
|
42
40
|
{},
|
43
41
|
nil,
|
@@ -51,7 +49,6 @@ describe 'client#count' do
|
|
51
49
|
end
|
52
50
|
|
53
51
|
context 'when there is a query provided' do
|
54
|
-
|
55
52
|
let(:expected_args) do
|
56
53
|
[
|
57
54
|
'POST',
|
@@ -1,7 +1,20 @@
|
|
1
|
-
# Licensed to Elasticsearch B.V under one or more
|
2
|
-
#
|
3
|
-
#
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
4
8
|
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
5
18
|
require 'spec_helper'
|
6
19
|
|
7
20
|
describe 'client.indices#clear_cache' do
|
@@ -17,18 +17,32 @@
|
|
17
17
|
|
18
18
|
require 'spec_helper'
|
19
19
|
|
20
|
-
describe 'client#
|
21
|
-
|
20
|
+
describe 'client.indices#disk_usage' do
|
22
21
|
let(:expected_args) do
|
23
22
|
[
|
24
23
|
'POST',
|
25
|
-
|
24
|
+
"#{index}/_disk_usage",
|
26
25
|
{},
|
27
|
-
nil
|
26
|
+
nil,
|
27
|
+
{}
|
28
28
|
]
|
29
29
|
end
|
30
30
|
|
31
|
+
let(:index) { 'foo' }
|
32
|
+
|
31
33
|
it 'performs the request' do
|
32
|
-
expect(client_double.
|
34
|
+
expect(client_double.indices.disk_usage(index: index)).to eq({})
|
35
|
+
end
|
36
|
+
|
37
|
+
context 'when there is no index specified' do
|
38
|
+
let(:client) do
|
39
|
+
Class.new { include Elasticsearch::API }.new
|
40
|
+
end
|
41
|
+
|
42
|
+
it 'raises an exception' do
|
43
|
+
expect do
|
44
|
+
client.indices.disk_usage
|
45
|
+
end.to raise_exception(ArgumentError)
|
46
|
+
end
|
33
47
|
end
|
34
48
|
end
|
@@ -17,18 +17,30 @@
|
|
17
17
|
|
18
18
|
require 'spec_helper'
|
19
19
|
|
20
|
-
describe 'client#
|
21
|
-
|
20
|
+
describe 'client.indices#field_usage_stats' do
|
22
21
|
let(:expected_args) do
|
23
22
|
[
|
24
|
-
'
|
25
|
-
'
|
23
|
+
'GET',
|
24
|
+
'foo/_field_usage_stats',
|
26
25
|
{},
|
27
|
-
|
26
|
+
nil,
|
27
|
+
{}
|
28
28
|
]
|
29
29
|
end
|
30
30
|
|
31
31
|
it 'performs the request' do
|
32
|
-
expect(client_double.
|
32
|
+
expect(client_double.indices.field_usage_stats(index: 'foo')).to eq({})
|
33
|
+
end
|
34
|
+
|
35
|
+
context 'when there is no index specified' do
|
36
|
+
let(:client) do
|
37
|
+
Class.new { include Elasticsearch::API }.new
|
38
|
+
end
|
39
|
+
|
40
|
+
it 'raises an exception' do
|
41
|
+
expect {
|
42
|
+
client.indices.field_usage_stats
|
43
|
+
}.to raise_exception(ArgumentError)
|
44
|
+
end
|
33
45
|
end
|
34
46
|
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
18
|
+
require 'spec_helper'
|
19
|
+
|
20
|
+
|
21
|
+
describe 'client.nodes#clear_metering_archive' do
|
22
|
+
let(:expected_args) do
|
23
|
+
[
|
24
|
+
'DELETE',
|
25
|
+
'_nodes/foo/_repositories_metering/bar',
|
26
|
+
{},
|
27
|
+
nil,
|
28
|
+
{}
|
29
|
+
]
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'performs the request' do
|
33
|
+
expect(client_double.nodes.clear_repositories_metering_archive(node_id: 'foo', max_archive_version: 'bar')).to eq({})
|
34
|
+
end
|
35
|
+
|
36
|
+
let(:client) do
|
37
|
+
Class.new { include Elasticsearch::API }.new
|
38
|
+
end
|
39
|
+
|
40
|
+
it 'raises an error if no node_id is provided' do
|
41
|
+
expect do
|
42
|
+
client.nodes.clear_repositories_metering_archive(max_archive_version: 'bar')
|
43
|
+
end.to raise_exception(ArgumentError)
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'raises an error if no max_archive_version is provided' do
|
47
|
+
expect do
|
48
|
+
client.nodes.clear_repositories_metering_archive(node_id: 'foo')
|
49
|
+
end.to raise_exception(ArgumentError)
|
50
|
+
end
|
51
|
+
end
|
@@ -17,19 +17,28 @@
|
|
17
17
|
|
18
18
|
require 'spec_helper'
|
19
19
|
|
20
|
-
describe 'client.
|
21
|
-
|
20
|
+
describe 'client.nodes#get_metering_info' do
|
22
21
|
let(:expected_args) do
|
23
22
|
[
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
23
|
+
'GET',
|
24
|
+
'_nodes/foo/_repositories_metering',
|
25
|
+
{},
|
26
|
+
nil,
|
27
|
+
{}
|
29
28
|
]
|
30
29
|
end
|
31
30
|
|
32
31
|
it 'performs the request' do
|
33
|
-
expect(client_double.
|
32
|
+
expect(client_double.nodes.get_repositories_metering_info(node_id: 'foo', max_archive_version: 'bar')).to eq({})
|
33
|
+
end
|
34
|
+
|
35
|
+
let(:client) do
|
36
|
+
Class.new { include Elasticsearch::API }.new
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'raises an error if no node_id is provided' do
|
40
|
+
expect do
|
41
|
+
client.nodes.get_repositories_metering_info
|
42
|
+
end.to raise_exception(ArgumentError)
|
34
43
|
end
|
35
44
|
end
|
@@ -21,24 +21,14 @@ describe 'client#open_point_in_time' do
|
|
21
21
|
let(:expected_args) do
|
22
22
|
[
|
23
23
|
'POST',
|
24
|
-
|
24
|
+
'foo/_pit',
|
25
25
|
{},
|
26
26
|
nil,
|
27
27
|
{}
|
28
28
|
]
|
29
29
|
end
|
30
30
|
|
31
|
-
let (:url) { '_pit'}
|
32
|
-
|
33
31
|
it 'performs the request' do
|
34
|
-
expect(client_double.open_point_in_time).to eq({})
|
35
|
-
end
|
36
|
-
|
37
|
-
context 'with index' do
|
38
|
-
let (:url) { 'foo/_pit'}
|
39
|
-
|
40
|
-
it 'performs the request' do
|
41
|
-
expect(client_double.open_point_in_time(index: 'foo')).to eq({})
|
42
|
-
end
|
32
|
+
expect(client_double.open_point_in_time(index: 'foo')).to eq({})
|
43
33
|
end
|
44
34
|
end
|