elasticsearch-api 7.11.0 → 7.13.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +6 -8
- data/Rakefile +46 -62
- data/lib/elasticsearch/api.rb +3 -1
- 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/close_point_in_time.rb +42 -0
- data/lib/elasticsearch/api/actions/cluster/allocation_explain.rb +1 -1
- 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 +1 -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 +1 -1
- 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 +1 -1
- data/lib/elasticsearch/api/actions/exists_source.rb +1 -1
- data/lib/elasticsearch/api/actions/explain.rb +1 -1
- data/lib/elasticsearch/api/actions/features/get_features.rb +51 -0
- 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 +1 -1
- 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 -1
- data/lib/elasticsearch/api/actions/get_script_languages.rb +1 -1
- 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 +1 -1
- 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 +1 -1
- data/lib/elasticsearch/api/actions/indices/delete_alias.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/delete_index_template.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/delete_template.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/exists.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/exists_alias.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/exists_index_template.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/exists_template.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/exists_type.rb +1 -1
- 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 +1 -1
- 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 -1
- 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 +1 -1
- 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 +1 -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 +1 -1
- data/lib/elasticsearch/api/actions/msearch_template.rb +1 -1
- data/lib/elasticsearch/api/actions/mtermvectors.rb +1 -1
- data/lib/elasticsearch/api/actions/nodes/hot_threads.rb +1 -1
- data/lib/elasticsearch/api/actions/nodes/info.rb +1 -1
- data/lib/elasticsearch/api/actions/nodes/reload_secure_settings.rb +1 -1
- data/lib/elasticsearch/api/actions/nodes/stats.rb +4 -2
- data/lib/elasticsearch/api/actions/nodes/usage.rb +1 -1
- data/lib/elasticsearch/api/actions/open_point_in_time.rb +64 -0
- data/lib/elasticsearch/api/actions/ping.rb +1 -1
- data/lib/elasticsearch/api/actions/put_script.rb +1 -1
- data/lib/elasticsearch/api/actions/rank_eval.rb +1 -1
- 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 +1 -1
- data/lib/elasticsearch/api/actions/scripts_painless_execute.rb +1 -1
- data/lib/elasticsearch/api/actions/scroll.rb +1 -1
- data/lib/elasticsearch/api/actions/search.rb +4 -2
- data/lib/elasticsearch/api/actions/search_shards.rb +1 -1
- data/lib/elasticsearch/api/actions/search_template.rb +1 -1
- data/lib/elasticsearch/api/actions/shutdown/delete_node.rb +52 -0
- data/lib/elasticsearch/api/actions/shutdown/get_node.rb +54 -0
- data/lib/elasticsearch/api/actions/shutdown/params_registry.rb +60 -0
- data/lib/elasticsearch/api/actions/shutdown/put_node.rb +54 -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 +3 -1
- data/lib/elasticsearch/api/actions/snapshot/get_features.rb +51 -0
- data/lib/elasticsearch/api/actions/snapshot/get_repository.rb +1 -1
- 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 +1 -1
- 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/namespace/features.rb +36 -0
- data/lib/elasticsearch/api/namespace/shutdown.rb +37 -0
- data/lib/elasticsearch/api/version.rb +1 -1
- data/spec/elasticsearch/api/actions/close_point_in_time_spec.rb +34 -0
- data/spec/elasticsearch/api/actions/features/get_features_spec.rb +34 -0
- data/spec/elasticsearch/api/actions/features/reset_features_spec.rb +34 -0
- data/spec/elasticsearch/api/actions/ingest/geo_ip_stats_spec.rb +34 -0
- data/spec/elasticsearch/api/actions/open_point_in_time_spec.rb +44 -0
- data/spec/elasticsearch/api/actions/shutdown/delete_node_spec.rb +44 -0
- data/spec/elasticsearch/api/actions/{indices/freeze_spec.rb → shutdown/get_node_spec.rb} +12 -51
- data/spec/elasticsearch/api/actions/shutdown/put_node_spec.rb +50 -0
- data/spec/elasticsearch/api/actions/snapshot/get_features_spec.rb +38 -0
- data/spec/elasticsearch/api/rest_api_yaml_spec.rb +7 -0
- data/spec/rest_yaml_tests_helper.rb +16 -52
- data/spec/skipped_tests.yml +29 -0
- data/utils/Gemfile +4 -3
- data/utils/thor/generate_source.rb +1 -2
- data/utils/thor/generator/endpoint_specifics.rb +4 -0
- data/utils/thor/generator/files_helper.rb +38 -20
- data/utils/thor/templates/_perform_request.erb +1 -1
- metadata +36 -9
- 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/unfreeze_spec.rb +0 -85
@@ -31,7 +31,7 @@ module Elasticsearch
|
|
31
31
|
# Deprecated since version 7.0.0
|
32
32
|
#
|
33
33
|
#
|
34
|
-
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.
|
34
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.13/search-request-body.html#request-body-search-scroll
|
35
35
|
#
|
36
36
|
def scroll(arguments = {})
|
37
37
|
headers = arguments.delete(:headers) || {}
|
@@ -64,6 +64,7 @@ module Elasticsearch
|
|
64
64
|
# @option arguments [Number] :max_concurrent_shard_requests The number of concurrent shard requests per node this search executes concurrently. This value should be used to limit the impact of the search on the cluster in order to limit the number of concurrent shard requests
|
65
65
|
# @option arguments [Number] :pre_filter_shard_size A threshold that enforces a pre-filter roundtrip to prefilter search shards based on query rewriting if the number of shards the search request expands to exceeds the threshold. This filter roundtrip can limit the number of shards significantly if for instance a shard can not match any documents based on its rewrite method ie. if date filters are mandatory to match but the shard bounds and the query are disjoint.
|
66
66
|
# @option arguments [Boolean] :rest_total_hits_as_int Indicates whether hits.total should be rendered as an integer or an object in the rest search response
|
67
|
+
# @option arguments [String] :min_compatible_shard_node The minimum compatible version that all shards involved in search should have for this request to be successful
|
67
68
|
# @option arguments [Hash] :headers Custom HTTP headers
|
68
69
|
# @option arguments [Hash] :body The search definition using the Query DSL
|
69
70
|
#
|
@@ -72,7 +73,7 @@ module Elasticsearch
|
|
72
73
|
# Deprecated since version 7.0.0
|
73
74
|
#
|
74
75
|
#
|
75
|
-
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.
|
76
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.13/search-search.html
|
76
77
|
#
|
77
78
|
def search(arguments = {})
|
78
79
|
headers = arguments.delete(:headers) || {}
|
@@ -148,7 +149,8 @@ module Elasticsearch
|
|
148
149
|
:batched_reduce_size,
|
149
150
|
:max_concurrent_shard_requests,
|
150
151
|
:pre_filter_shard_size,
|
151
|
-
:rest_total_hits_as_int
|
152
|
+
:rest_total_hits_as_int,
|
153
|
+
:min_compatible_shard_node
|
152
154
|
].freeze)
|
153
155
|
end
|
154
156
|
end
|
@@ -29,7 +29,7 @@ module Elasticsearch
|
|
29
29
|
# @option arguments [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that are open, closed or both. (options: open, closed, hidden, none, all)
|
30
30
|
# @option arguments [Hash] :headers Custom HTTP headers
|
31
31
|
#
|
32
|
-
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.
|
32
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.13/search-shards.html
|
33
33
|
#
|
34
34
|
def search_shards(arguments = {})
|
35
35
|
headers = arguments.delete(:headers) || {}
|
@@ -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.13/search-template.html
|
47
47
|
#
|
48
48
|
def search_template(arguments = {})
|
49
49
|
raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
|
@@ -0,0 +1,52 @@
|
|
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
|
22
|
+
# Removes a node from the shutdown list
|
23
|
+
# This functionality is Experimental and may be changed or removed
|
24
|
+
# completely in a future release. Elastic will take a best effort approach
|
25
|
+
# to fix any issues, but experimental features are not subject to the
|
26
|
+
# support SLA of official GA features.
|
27
|
+
#
|
28
|
+
# @option arguments [String] :node_id The node id of node to be removed from the shutdown state
|
29
|
+
# @option arguments [Hash] :headers Custom HTTP headers
|
30
|
+
#
|
31
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/current
|
32
|
+
#
|
33
|
+
def delete_node(arguments = {})
|
34
|
+
raise ArgumentError, "Required argument 'node_id' missing" unless arguments[:node_id]
|
35
|
+
|
36
|
+
headers = arguments.delete(:headers) || {}
|
37
|
+
|
38
|
+
arguments = arguments.clone
|
39
|
+
|
40
|
+
_node_id = arguments.delete(:node_id)
|
41
|
+
|
42
|
+
method = Elasticsearch::API::HTTP_DELETE
|
43
|
+
path = "_nodes/#{Utils.__listify(_node_id)}/shutdown"
|
44
|
+
params = {}
|
45
|
+
|
46
|
+
body = nil
|
47
|
+
perform_request(method, path, params, body, headers).body
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,54 @@
|
|
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
|
22
|
+
# Retrieve status of a node or nodes that are currently marked as shutting down
|
23
|
+
# This functionality is Experimental and may be changed or removed
|
24
|
+
# completely in a future release. Elastic will take a best effort approach
|
25
|
+
# to fix any issues, but experimental features are not subject to the
|
26
|
+
# support SLA of official GA features.
|
27
|
+
#
|
28
|
+
# @option arguments [String] :node_id Which node for which to retrieve the shutdown status
|
29
|
+
# @option arguments [Hash] :headers Custom HTTP headers
|
30
|
+
#
|
31
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/current
|
32
|
+
#
|
33
|
+
def get_node(arguments = {})
|
34
|
+
headers = arguments.delete(:headers) || {}
|
35
|
+
|
36
|
+
arguments = arguments.clone
|
37
|
+
|
38
|
+
_node_id = arguments.delete(:node_id)
|
39
|
+
|
40
|
+
method = Elasticsearch::API::HTTP_GET
|
41
|
+
path = if _node_id
|
42
|
+
"_nodes/#{Utils.__listify(_node_id)}/shutdown"
|
43
|
+
else
|
44
|
+
"_nodes/shutdown"
|
45
|
+
end
|
46
|
+
params = {}
|
47
|
+
|
48
|
+
body = nil
|
49
|
+
perform_request(method, path, params, body, headers).body
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
18
|
+
module Elasticsearch
|
19
|
+
module API
|
20
|
+
module Shutdown
|
21
|
+
module Actions
|
22
|
+
module ParamsRegistry
|
23
|
+
extend self
|
24
|
+
|
25
|
+
# A Mapping of all the actions to their list of valid params.
|
26
|
+
#
|
27
|
+
# @since 6.1.1
|
28
|
+
PARAMS = {}
|
29
|
+
|
30
|
+
# Register an action with its list of valid params.
|
31
|
+
#
|
32
|
+
# @example Register the action.
|
33
|
+
# ParamsRegistry.register(:benchmark, [ :verbose ])
|
34
|
+
#
|
35
|
+
# @param [ Symbol ] action The action to register.
|
36
|
+
# @param [ Array[Symbol] ] valid_params The list of valid params.
|
37
|
+
#
|
38
|
+
# @since 6.1.1
|
39
|
+
def register(action, valid_params)
|
40
|
+
PARAMS[action.to_sym] = valid_params
|
41
|
+
end
|
42
|
+
|
43
|
+
# Get the list of valid params for a given action.
|
44
|
+
#
|
45
|
+
# @example Get the list of valid params.
|
46
|
+
# ParamsRegistry.get(:benchmark)
|
47
|
+
#
|
48
|
+
# @param [ Symbol ] action The action.
|
49
|
+
#
|
50
|
+
# @return [ Array<Symbol> ] The list of valid params for the action.
|
51
|
+
#
|
52
|
+
# @since 6.1.1
|
53
|
+
def get(action)
|
54
|
+
PARAMS.fetch(action, [])
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
@@ -0,0 +1,54 @@
|
|
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
|
22
|
+
# Adds a node to be shut down
|
23
|
+
# This functionality is Experimental and may be changed or removed
|
24
|
+
# completely in a future release. Elastic will take a best effort approach
|
25
|
+
# to fix any issues, but experimental features are not subject to the
|
26
|
+
# support SLA of official GA features.
|
27
|
+
#
|
28
|
+
# @option arguments [String] :node_id The node id of node to be shut down
|
29
|
+
# @option arguments [Hash] :headers Custom HTTP headers
|
30
|
+
# @option arguments [Hash] :body The shutdown type definition to register (*Required*)
|
31
|
+
#
|
32
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/current
|
33
|
+
#
|
34
|
+
def put_node(arguments = {})
|
35
|
+
raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
|
36
|
+
raise ArgumentError, "Required argument 'node_id' missing" unless arguments[:node_id]
|
37
|
+
|
38
|
+
headers = arguments.delete(:headers) || {}
|
39
|
+
|
40
|
+
arguments = arguments.clone
|
41
|
+
|
42
|
+
_node_id = arguments.delete(:node_id)
|
43
|
+
|
44
|
+
method = Elasticsearch::API::HTTP_PUT
|
45
|
+
path = "_nodes/#{Utils.__listify(_node_id)}/shutdown"
|
46
|
+
params = {}
|
47
|
+
|
48
|
+
body = arguments[:body]
|
49
|
+
perform_request(method, path, params, body, headers).body
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -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.13/clean-up-snapshot-repo-api.html
|
30
30
|
#
|
31
31
|
def cleanup_repository(arguments = {})
|
32
32
|
raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository]
|
@@ -28,7 +28,7 @@ module Elasticsearch
|
|
28
28
|
# @option arguments [Hash] :headers Custom HTTP headers
|
29
29
|
# @option arguments [Hash] :body The snapshot clone definition (*Required*)
|
30
30
|
#
|
31
|
-
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.
|
31
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.13/modules-snapshots.html
|
32
32
|
#
|
33
33
|
def clone(arguments = {})
|
34
34
|
raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
|
@@ -28,7 +28,7 @@ module Elasticsearch
|
|
28
28
|
# @option arguments [Hash] :headers Custom HTTP headers
|
29
29
|
# @option arguments [Hash] :body The snapshot definition
|
30
30
|
#
|
31
|
-
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.
|
31
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.13/modules-snapshots.html
|
32
32
|
#
|
33
33
|
def create(arguments = {})
|
34
34
|
raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository]
|
@@ -28,7 +28,7 @@ module Elasticsearch
|
|
28
28
|
# @option arguments [Hash] :headers Custom HTTP headers
|
29
29
|
# @option arguments [Hash] :body The repository definition (*Required*)
|
30
30
|
#
|
31
|
-
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.
|
31
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.13/modules-snapshots.html
|
32
32
|
#
|
33
33
|
def create_repository(arguments = {})
|
34
34
|
raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
|
@@ -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.13/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.13/modules-snapshots.html
|
30
30
|
#
|
31
31
|
def delete_repository(arguments = {})
|
32
32
|
raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository]
|
@@ -25,10 +25,11 @@ module Elasticsearch
|
|
25
25
|
# @option arguments [List] :snapshot A comma-separated list of snapshot names
|
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
|
+
# @option arguments [Boolean] :index_details Whether to include details of each index in the snapshot, if those details are available. Defaults to false.
|
28
29
|
# @option arguments [Boolean] :verbose Whether to show verbose snapshot info or only show the basic info found in the repository index blob
|
29
30
|
# @option arguments [Hash] :headers Custom HTTP headers
|
30
31
|
#
|
31
|
-
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.
|
32
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.13/modules-snapshots.html
|
32
33
|
#
|
33
34
|
def get(arguments = {})
|
34
35
|
raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository]
|
@@ -60,6 +61,7 @@ module Elasticsearch
|
|
60
61
|
ParamsRegistry.register(:get, [
|
61
62
|
:master_timeout,
|
62
63
|
:ignore_unavailable,
|
64
|
+
:index_details,
|
63
65
|
:verbose
|
64
66
|
].freeze)
|
65
67
|
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
|
+
module Elasticsearch
|
19
|
+
module API
|
20
|
+
module Snapshot
|
21
|
+
module Actions
|
22
|
+
# Returns a list of features which can be snapshotted in this cluster.
|
23
|
+
#
|
24
|
+
# @option arguments [Time] :master_timeout Explicit operation timeout for connection to master node
|
25
|
+
# @option arguments [Hash] :headers Custom HTTP headers
|
26
|
+
#
|
27
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/modules-snapshots.html
|
28
|
+
#
|
29
|
+
def get_features(arguments = {})
|
30
|
+
headers = arguments.delete(:headers) || {}
|
31
|
+
|
32
|
+
arguments = arguments.clone
|
33
|
+
|
34
|
+
method = Elasticsearch::API::HTTP_GET
|
35
|
+
path = "_snapshottable_features"
|
36
|
+
params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
|
37
|
+
|
38
|
+
body = nil
|
39
|
+
perform_request(method, path, params, body, headers).body
|
40
|
+
end
|
41
|
+
|
42
|
+
# Register this action with its valid params when the module is loaded.
|
43
|
+
#
|
44
|
+
# @since 6.2.0
|
45
|
+
ParamsRegistry.register(:get_features, [
|
46
|
+
:master_timeout
|
47
|
+
].freeze)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
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.13/modules-snapshots.html
|
30
30
|
#
|
31
31
|
def get_repository(arguments = {})
|
32
32
|
headers = arguments.delete(:headers) || {}
|
@@ -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.13/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.13/modules-snapshots.html
|
31
31
|
#
|
32
32
|
def status(arguments = {})
|
33
33
|
headers = arguments.delete(:headers) || {}
|