elasticsearch-api 7.11.2 → 7.16.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +4 -4
- data/README.md +22 -45
- data/Rakefile +46 -62
- data/elasticsearch-api.gemspec +6 -7
- data/lib/elasticsearch/api/actions/bulk.rb +1 -1
- 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 +4 -2
- data/lib/elasticsearch/api/actions/cat/pending_tasks.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/plugins.rb +3 -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/{abort_benchmark.rb → close_point_in_time.rb} +13 -12
- 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 -1
- 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/{nodes/shutdown.rb → features/get_features.rb} +16 -21
- data/lib/elasticsearch/api/actions/features/params_registry.rb +60 -0
- data/lib/elasticsearch/api/actions/features/reset_features.rb +47 -0
- 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 +2 -2
- 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 +7 -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 +43 -0
- data/lib/elasticsearch/api/actions/ingest/get_pipeline.rb +3 -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 +2 -2
- data/lib/elasticsearch/api/actions/msearch_template.rb +2 -2
- 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/nodes/get_repositories_metering_info.rb +52 -0
- 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 +5 -3
- data/lib/elasticsearch/api/actions/nodes/usage.rb +1 -1
- data/lib/elasticsearch/api/actions/open_point_in_time.rb +62 -0
- 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 +11 -9
- 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 +48 -0
- data/lib/elasticsearch/api/actions/shutdown/get_node.rb +50 -0
- data/lib/elasticsearch/api/actions/shutdown/params_registry.rb +60 -0
- data/lib/elasticsearch/api/actions/shutdown/put_node.rb +50 -0
- 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 +5 -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 -1
- data/lib/elasticsearch/api/actions/update_by_query_rethrottle.rb +1 -1
- data/lib/elasticsearch/api/{actions/remote/info.rb → namespace/features.rb} +12 -13
- data/lib/elasticsearch/api/namespace/security.rb +36 -0
- data/lib/elasticsearch/api/namespace/shutdown.rb +37 -0
- data/lib/elasticsearch/api/version.rb +1 -1
- data/lib/elasticsearch/api.rb +3 -1
- data/spec/elasticsearch/api/actions/{benchmark_spec.rb → close_point_in_time_spec.rb} +6 -6
- data/spec/elasticsearch/api/actions/count_spec.rb +2 -5
- data/spec/elasticsearch/api/actions/{remote/info_spec.rb → features/get_features_spec.rb} +7 -8
- data/spec/elasticsearch/api/actions/features/reset_features_spec.rb +34 -0
- data/spec/elasticsearch/api/actions/indices/clear_cache_spec.rb +16 -3
- data/spec/elasticsearch/api/actions/indices/disk_usage_spec.rb +48 -0
- data/spec/elasticsearch/api/actions/indices/field_usage_stats_spec.rb +46 -0
- data/spec/elasticsearch/api/actions/ingest/geo_ip_stats_spec.rb +34 -0
- data/spec/elasticsearch/api/actions/nodes/clear_repositories_metering_archive_spec.rb +51 -0
- data/spec/elasticsearch/api/actions/nodes/get_repositories_metering_info_spec.rb +44 -0
- data/spec/elasticsearch/api/actions/{abort_benchmark_spec.rb → open_point_in_time_spec.rb} +5 -5
- data/spec/elasticsearch/api/actions/search_mvt_spec.rb +52 -0
- data/spec/elasticsearch/api/actions/shutdown/delete_node_spec.rb +44 -0
- data/spec/elasticsearch/api/actions/shutdown/get_node_spec.rb +46 -0
- data/spec/elasticsearch/api/actions/shutdown/put_node_spec.rb +50 -0
- data/spec/elasticsearch/api/actions/snapshot/repository_analize_spec.rb +48 -0
- data/spec/elasticsearch/api/rest_api_yaml_spec.rb +23 -3
- data/spec/rest_yaml_tests_helper.rb +17 -53
- data/spec/skipped_tests.yml +29 -0
- data/spec/spec_helper.rb +4 -1
- data/utils/Gemfile +4 -3
- data/utils/README.md +6 -1
- data/utils/thor/.rubocop.yml +2 -0
- data/utils/thor/generate_source.rb +18 -13
- data/utils/thor/generator/endpoint_specifics.rb +7 -1
- data/utils/thor/generator/files_helper.rb +38 -20
- 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 +58 -48
- 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/indices/freeze.rb +0 -56
- data/lib/elasticsearch/api/actions/indices/unfreeze.rb +0 -56
- data/spec/elasticsearch/api/actions/indices/freeze_spec.rb +0 -85
- data/spec/elasticsearch/api/actions/indices/unfreeze_spec.rb +0 -85
- data/spec/elasticsearch/api/actions/nodes/shutdown_spec.rb +0 -76
@@ -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.16/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.16/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.16/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.16/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.16/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.16/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.16/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.16/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.16/docs-update.html
|
47
47
|
#
|
48
48
|
def update(arguments = {})
|
49
49
|
raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
|
@@ -66,7 +66,7 @@ module Elasticsearch
|
|
66
66
|
# Deprecated since version 7.0.0
|
67
67
|
#
|
68
68
|
#
|
69
|
-
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.
|
69
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.16/docs-update-by-query.html
|
70
70
|
#
|
71
71
|
def update_by_query(arguments = {})
|
72
72
|
raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
|
@@ -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.16/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 Features
|
21
|
+
module Actions; end
|
31
22
|
|
32
|
-
|
33
|
-
|
23
|
+
# Client for the "features" namespace (includes the {Features::Actions} methods)
|
24
|
+
#
|
25
|
+
class FeaturesClient
|
26
|
+
include Common::Client, Common::Client::Base, Features::Actions
|
27
|
+
end
|
28
|
+
|
29
|
+
# Proxy method for {FeaturesClient}, available in the receiving object
|
30
|
+
#
|
31
|
+
def features
|
32
|
+
@features ||= FeaturesClient.new(self)
|
34
33
|
end
|
35
34
|
end
|
36
35
|
end
|
@@ -0,0 +1,36 @@
|
|
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 Security
|
21
|
+
module Actions; end
|
22
|
+
|
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)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,37 @@
|
|
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 Shutdown
|
21
|
+
module Actions; end
|
22
|
+
|
23
|
+
# Client for the "shutdown" namespace (includes the {Shutdown::Actions} methods)
|
24
|
+
#
|
25
|
+
class ShutdownClient
|
26
|
+
include Common::Client, Common::Client::Base, Shutdown::Actions
|
27
|
+
end
|
28
|
+
|
29
|
+
# Proxy method for {ShutdownClient}, available in the receiving object
|
30
|
+
#
|
31
|
+
def shutdown
|
32
|
+
@shutdown ||= ShutdownClient.new(self)
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
data/lib/elasticsearch/api.rb
CHANGED
@@ -72,7 +72,9 @@ module Elasticsearch
|
|
72
72
|
Elasticsearch::API::Tasks,
|
73
73
|
Elasticsearch::API::Cat,
|
74
74
|
Elasticsearch::API::Remote,
|
75
|
-
Elasticsearch::API::DanglingIndices
|
75
|
+
Elasticsearch::API::DanglingIndices,
|
76
|
+
Elasticsearch::API::Features,
|
77
|
+
Elasticsearch::API::Shutdown
|
76
78
|
end
|
77
79
|
|
78
80
|
# The serializer class
|
@@ -17,18 +17,18 @@
|
|
17
17
|
|
18
18
|
require 'spec_helper'
|
19
19
|
|
20
|
-
describe 'client#
|
21
|
-
|
20
|
+
describe 'client#close_point_in_time' do
|
22
21
|
let(:expected_args) do
|
23
22
|
[
|
24
|
-
'
|
25
|
-
'
|
23
|
+
'DELETE',
|
24
|
+
'_pit',
|
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.close_point_in_time).to eq({})
|
33
33
|
end
|
34
34
|
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',
|
@@ -17,19 +17,18 @@
|
|
17
17
|
|
18
18
|
require 'spec_helper'
|
19
19
|
|
20
|
-
describe 'client.
|
21
|
-
|
20
|
+
describe 'client.featues#get_features' do
|
22
21
|
let(:expected_args) do
|
23
22
|
[
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
23
|
+
'GET',
|
24
|
+
'_features',
|
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.features.get_features).to eq({})
|
34
33
|
end
|
35
34
|
end
|
@@ -0,0 +1,34 @@
|
|
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
|
+
describe 'client.featues#reset_features' do
|
21
|
+
let(:expected_args) do
|
22
|
+
[
|
23
|
+
'POST',
|
24
|
+
'_features/_reset',
|
25
|
+
{},
|
26
|
+
nil,
|
27
|
+
{}
|
28
|
+
]
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'performs the request' do
|
32
|
+
expect(client_double.features.reset_features).to eq({})
|
33
|
+
end
|
34
|
+
end
|
@@ -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
|
@@ -0,0 +1,48 @@
|
|
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
|
+
describe 'client.indices#disk_usage' do
|
21
|
+
let(:expected_args) do
|
22
|
+
[
|
23
|
+
'POST',
|
24
|
+
"#{index}/_disk_usage",
|
25
|
+
{},
|
26
|
+
nil,
|
27
|
+
{}
|
28
|
+
]
|
29
|
+
end
|
30
|
+
|
31
|
+
let(:index) { 'foo' }
|
32
|
+
|
33
|
+
it 'performs the request' do
|
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
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,46 @@
|
|
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
|
+
describe 'client.indices#field_usage_stats' do
|
21
|
+
let(:expected_args) do
|
22
|
+
[
|
23
|
+
'GET',
|
24
|
+
'foo/_field_usage_stats',
|
25
|
+
{},
|
26
|
+
nil,
|
27
|
+
{}
|
28
|
+
]
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'performs the request' do
|
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
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,34 @@
|
|
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
|
+
describe 'client.ingest#geo_ip_stats' do
|
21
|
+
let(:expected_args) do
|
22
|
+
[
|
23
|
+
'GET',
|
24
|
+
'_ingest/geoip/stats',
|
25
|
+
{},
|
26
|
+
nil,
|
27
|
+
{}
|
28
|
+
]
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'performs the request' do
|
32
|
+
expect(client_double.ingest.geo_ip_stats).to eq({})
|
33
|
+
end
|
34
|
+
end
|