elasticsearch-api 7.11.0.pre.1 → 7.13.0.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (186) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +6 -8
  3. data/Rakefile +46 -62
  4. data/lib/elasticsearch/api.rb +3 -1
  5. data/lib/elasticsearch/api/actions/bulk.rb +1 -1
  6. data/lib/elasticsearch/api/actions/cat/aliases.rb +1 -1
  7. data/lib/elasticsearch/api/actions/cat/allocation.rb +1 -1
  8. data/lib/elasticsearch/api/actions/cat/count.rb +1 -1
  9. data/lib/elasticsearch/api/actions/cat/fielddata.rb +1 -1
  10. data/lib/elasticsearch/api/actions/cat/health.rb +1 -1
  11. data/lib/elasticsearch/api/actions/cat/help.rb +1 -1
  12. data/lib/elasticsearch/api/actions/cat/indices.rb +1 -1
  13. data/lib/elasticsearch/api/actions/cat/master.rb +1 -1
  14. data/lib/elasticsearch/api/actions/cat/nodeattrs.rb +1 -1
  15. data/lib/elasticsearch/api/actions/cat/nodes.rb +4 -2
  16. data/lib/elasticsearch/api/actions/cat/pending_tasks.rb +1 -1
  17. data/lib/elasticsearch/api/actions/cat/plugins.rb +3 -1
  18. data/lib/elasticsearch/api/actions/cat/recovery.rb +1 -1
  19. data/lib/elasticsearch/api/actions/cat/repositories.rb +1 -1
  20. data/lib/elasticsearch/api/actions/cat/segments.rb +1 -1
  21. data/lib/elasticsearch/api/actions/cat/shards.rb +1 -1
  22. data/lib/elasticsearch/api/actions/cat/snapshots.rb +1 -1
  23. data/lib/elasticsearch/api/actions/cat/tasks.rb +1 -1
  24. data/lib/elasticsearch/api/actions/cat/templates.rb +1 -1
  25. data/lib/elasticsearch/api/actions/cat/thread_pool.rb +1 -1
  26. data/lib/elasticsearch/api/actions/clear_scroll.rb +1 -1
  27. data/lib/elasticsearch/api/actions/close_point_in_time.rb +42 -0
  28. data/lib/elasticsearch/api/actions/cluster/allocation_explain.rb +1 -1
  29. data/lib/elasticsearch/api/actions/cluster/delete_component_template.rb +1 -1
  30. data/lib/elasticsearch/api/actions/cluster/delete_voting_config_exclusions.rb +1 -1
  31. data/lib/elasticsearch/api/actions/cluster/exists_component_template.rb +1 -1
  32. data/lib/elasticsearch/api/actions/cluster/get_component_template.rb +1 -1
  33. data/lib/elasticsearch/api/actions/cluster/get_settings.rb +1 -1
  34. data/lib/elasticsearch/api/actions/cluster/health.rb +1 -1
  35. data/lib/elasticsearch/api/actions/cluster/pending_tasks.rb +1 -1
  36. data/lib/elasticsearch/api/actions/cluster/post_voting_config_exclusions.rb +1 -1
  37. data/lib/elasticsearch/api/actions/cluster/put_component_template.rb +1 -1
  38. data/lib/elasticsearch/api/actions/cluster/put_settings.rb +1 -1
  39. data/lib/elasticsearch/api/actions/cluster/remote_info.rb +1 -1
  40. data/lib/elasticsearch/api/actions/cluster/reroute.rb +1 -1
  41. data/lib/elasticsearch/api/actions/cluster/state.rb +1 -1
  42. data/lib/elasticsearch/api/actions/cluster/stats.rb +1 -1
  43. data/lib/elasticsearch/api/actions/count.rb +1 -1
  44. data/lib/elasticsearch/api/actions/create.rb +1 -1
  45. data/lib/elasticsearch/api/actions/dangling_indices/delete_dangling_index.rb +1 -1
  46. data/lib/elasticsearch/api/actions/dangling_indices/import_dangling_index.rb +1 -1
  47. data/lib/elasticsearch/api/actions/dangling_indices/list_dangling_indices.rb +1 -1
  48. data/lib/elasticsearch/api/actions/delete.rb +1 -1
  49. data/lib/elasticsearch/api/actions/delete_by_query.rb +1 -1
  50. data/lib/elasticsearch/api/actions/delete_by_query_rethrottle.rb +1 -1
  51. data/lib/elasticsearch/api/actions/delete_script.rb +1 -1
  52. data/lib/elasticsearch/api/actions/exists.rb +1 -1
  53. data/lib/elasticsearch/api/actions/exists_source.rb +1 -1
  54. data/lib/elasticsearch/api/actions/explain.rb +1 -1
  55. data/lib/elasticsearch/api/actions/features/get_features.rb +51 -0
  56. data/lib/elasticsearch/api/actions/features/params_registry.rb +60 -0
  57. data/lib/elasticsearch/api/actions/features/reset_features.rb +47 -0
  58. data/lib/elasticsearch/api/actions/field_caps.rb +1 -1
  59. data/lib/elasticsearch/api/actions/get.rb +1 -1
  60. data/lib/elasticsearch/api/actions/get_script.rb +1 -1
  61. data/lib/elasticsearch/api/actions/get_script_context.rb +1 -1
  62. data/lib/elasticsearch/api/actions/get_script_languages.rb +1 -1
  63. data/lib/elasticsearch/api/actions/get_source.rb +1 -1
  64. data/lib/elasticsearch/api/actions/index.rb +1 -1
  65. data/lib/elasticsearch/api/actions/indices/add_block.rb +1 -1
  66. data/lib/elasticsearch/api/actions/indices/analyze.rb +1 -1
  67. data/lib/elasticsearch/api/actions/indices/clear_cache.rb +1 -1
  68. data/lib/elasticsearch/api/actions/indices/clone.rb +1 -1
  69. data/lib/elasticsearch/api/actions/indices/close.rb +2 -2
  70. data/lib/elasticsearch/api/actions/indices/create.rb +1 -1
  71. data/lib/elasticsearch/api/actions/indices/delete.rb +1 -1
  72. data/lib/elasticsearch/api/actions/indices/delete_alias.rb +1 -1
  73. data/lib/elasticsearch/api/actions/indices/delete_index_template.rb +1 -1
  74. data/lib/elasticsearch/api/actions/indices/delete_template.rb +1 -1
  75. data/lib/elasticsearch/api/actions/indices/exists.rb +1 -1
  76. data/lib/elasticsearch/api/actions/indices/exists_alias.rb +1 -1
  77. data/lib/elasticsearch/api/actions/indices/exists_index_template.rb +1 -1
  78. data/lib/elasticsearch/api/actions/indices/exists_template.rb +1 -1
  79. data/lib/elasticsearch/api/actions/indices/exists_type.rb +1 -1
  80. data/lib/elasticsearch/api/actions/indices/flush.rb +1 -1
  81. data/lib/elasticsearch/api/actions/indices/flush_synced.rb +1 -1
  82. data/lib/elasticsearch/api/actions/indices/forcemerge.rb +1 -1
  83. data/lib/elasticsearch/api/actions/indices/freeze.rb +29 -19
  84. data/lib/elasticsearch/api/actions/indices/get.rb +1 -1
  85. data/lib/elasticsearch/api/actions/indices/get_alias.rb +1 -1
  86. data/lib/elasticsearch/api/actions/indices/get_field_mapping.rb +1 -1
  87. data/lib/elasticsearch/api/actions/indices/get_index_template.rb +1 -1
  88. data/lib/elasticsearch/api/actions/indices/get_mapping.rb +1 -1
  89. data/lib/elasticsearch/api/actions/indices/get_settings.rb +1 -1
  90. data/lib/elasticsearch/api/actions/indices/get_template.rb +1 -1
  91. data/lib/elasticsearch/api/actions/indices/get_upgrade.rb +1 -1
  92. data/lib/elasticsearch/api/actions/indices/open.rb +1 -1
  93. data/lib/elasticsearch/api/actions/indices/put_alias.rb +1 -1
  94. data/lib/elasticsearch/api/actions/indices/put_index_template.rb +1 -1
  95. data/lib/elasticsearch/api/actions/indices/put_mapping.rb +1 -1
  96. data/lib/elasticsearch/api/actions/indices/put_settings.rb +1 -1
  97. data/lib/elasticsearch/api/actions/indices/put_template.rb +1 -1
  98. data/lib/elasticsearch/api/actions/indices/recovery.rb +1 -1
  99. data/lib/elasticsearch/api/actions/indices/refresh.rb +1 -1
  100. data/lib/elasticsearch/api/actions/indices/resolve_index.rb +1 -1
  101. data/lib/elasticsearch/api/actions/indices/rollover.rb +1 -1
  102. data/lib/elasticsearch/api/actions/indices/segments.rb +1 -1
  103. data/lib/elasticsearch/api/actions/indices/shard_stores.rb +1 -1
  104. data/lib/elasticsearch/api/actions/indices/shrink.rb +1 -1
  105. data/lib/elasticsearch/api/actions/indices/simulate_index_template.rb +1 -1
  106. data/lib/elasticsearch/api/actions/indices/simulate_template.rb +1 -1
  107. data/lib/elasticsearch/api/actions/indices/split.rb +1 -1
  108. data/lib/elasticsearch/api/actions/indices/stats.rb +1 -1
  109. data/lib/elasticsearch/api/actions/indices/unfreeze.rb +29 -19
  110. data/lib/elasticsearch/api/actions/indices/update_aliases.rb +1 -1
  111. data/lib/elasticsearch/api/actions/indices/upgrade.rb +1 -1
  112. data/lib/elasticsearch/api/actions/indices/validate_query.rb +1 -1
  113. data/lib/elasticsearch/api/actions/info.rb +1 -1
  114. data/lib/elasticsearch/api/actions/ingest/delete_pipeline.rb +1 -1
  115. data/lib/elasticsearch/api/actions/ingest/geo_ip_stats.rb +43 -0
  116. data/lib/elasticsearch/api/actions/ingest/get_pipeline.rb +3 -1
  117. data/lib/elasticsearch/api/actions/ingest/processor_grok.rb +1 -1
  118. data/lib/elasticsearch/api/actions/ingest/put_pipeline.rb +1 -1
  119. data/lib/elasticsearch/api/actions/ingest/simulate.rb +1 -1
  120. data/lib/elasticsearch/api/actions/mget.rb +1 -1
  121. data/lib/elasticsearch/api/actions/msearch.rb +1 -1
  122. data/lib/elasticsearch/api/actions/msearch_template.rb +1 -1
  123. data/lib/elasticsearch/api/actions/mtermvectors.rb +1 -1
  124. data/lib/elasticsearch/api/actions/nodes/hot_threads.rb +1 -1
  125. data/lib/elasticsearch/api/actions/nodes/info.rb +1 -1
  126. data/lib/elasticsearch/api/actions/nodes/reload_secure_settings.rb +1 -1
  127. data/lib/elasticsearch/api/actions/nodes/stats.rb +4 -2
  128. data/lib/elasticsearch/api/actions/nodes/usage.rb +1 -1
  129. data/lib/elasticsearch/api/actions/open_point_in_time.rb +64 -0
  130. data/lib/elasticsearch/api/actions/ping.rb +1 -1
  131. data/lib/elasticsearch/api/actions/put_script.rb +1 -1
  132. data/lib/elasticsearch/api/actions/rank_eval.rb +1 -1
  133. data/lib/elasticsearch/api/actions/reindex.rb +1 -1
  134. data/lib/elasticsearch/api/actions/reindex_rethrottle.rb +1 -1
  135. data/lib/elasticsearch/api/actions/render_search_template.rb +1 -1
  136. data/lib/elasticsearch/api/actions/scripts_painless_execute.rb +1 -1
  137. data/lib/elasticsearch/api/actions/scroll.rb +1 -1
  138. data/lib/elasticsearch/api/actions/search.rb +4 -2
  139. data/lib/elasticsearch/api/actions/search_shards.rb +1 -1
  140. data/lib/elasticsearch/api/actions/search_template.rb +1 -1
  141. data/lib/elasticsearch/api/actions/shutdown/delete_node.rb +52 -0
  142. data/lib/elasticsearch/api/actions/shutdown/get_node.rb +54 -0
  143. data/lib/elasticsearch/api/actions/shutdown/params_registry.rb +60 -0
  144. data/lib/elasticsearch/api/actions/shutdown/put_node.rb +54 -0
  145. data/lib/elasticsearch/api/actions/snapshot/cleanup_repository.rb +1 -1
  146. data/lib/elasticsearch/api/actions/snapshot/clone.rb +1 -1
  147. data/lib/elasticsearch/api/actions/snapshot/create.rb +1 -1
  148. data/lib/elasticsearch/api/actions/snapshot/create_repository.rb +1 -1
  149. data/lib/elasticsearch/api/actions/snapshot/delete.rb +1 -1
  150. data/lib/elasticsearch/api/actions/snapshot/delete_repository.rb +1 -1
  151. data/lib/elasticsearch/api/actions/snapshot/get.rb +3 -1
  152. data/lib/elasticsearch/api/actions/snapshot/get_features.rb +51 -0
  153. data/lib/elasticsearch/api/actions/snapshot/get_repository.rb +1 -1
  154. data/lib/elasticsearch/api/actions/snapshot/restore.rb +1 -1
  155. data/lib/elasticsearch/api/actions/snapshot/status.rb +1 -1
  156. data/lib/elasticsearch/api/actions/snapshot/verify_repository.rb +1 -1
  157. data/lib/elasticsearch/api/actions/tasks/cancel.rb +1 -1
  158. data/lib/elasticsearch/api/actions/tasks/get.rb +1 -1
  159. data/lib/elasticsearch/api/actions/tasks/list.rb +1 -1
  160. data/lib/elasticsearch/api/actions/termvectors.rb +1 -1
  161. data/lib/elasticsearch/api/actions/update.rb +1 -1
  162. data/lib/elasticsearch/api/actions/update_by_query.rb +1 -1
  163. data/lib/elasticsearch/api/actions/update_by_query_rethrottle.rb +1 -1
  164. data/lib/elasticsearch/api/namespace/features.rb +36 -0
  165. data/lib/elasticsearch/api/namespace/shutdown.rb +37 -0
  166. data/lib/elasticsearch/api/version.rb +1 -1
  167. data/spec/elasticsearch/api/actions/close_point_in_time_spec.rb +34 -0
  168. data/spec/elasticsearch/api/actions/features/get_features_spec.rb +34 -0
  169. data/spec/elasticsearch/api/actions/features/reset_features_spec.rb +34 -0
  170. data/spec/elasticsearch/api/actions/indices/freeze_spec.rb +1 -1
  171. data/spec/elasticsearch/api/actions/indices/unfreeze_spec.rb +1 -1
  172. data/spec/elasticsearch/api/actions/ingest/geo_ip_stats_spec.rb +34 -0
  173. data/spec/elasticsearch/api/actions/open_point_in_time_spec.rb +44 -0
  174. data/spec/elasticsearch/api/actions/shutdown/delete_node_spec.rb +44 -0
  175. data/spec/elasticsearch/api/actions/shutdown/get_node_spec.rb +46 -0
  176. data/spec/elasticsearch/api/actions/shutdown/put_node_spec.rb +50 -0
  177. data/spec/elasticsearch/api/actions/snapshot/get_features_spec.rb +38 -0
  178. data/spec/elasticsearch/api/rest_api_yaml_spec.rb +7 -0
  179. data/spec/rest_yaml_tests_helper.rb +16 -46
  180. data/spec/skipped_tests.yml +29 -0
  181. data/utils/Gemfile +4 -3
  182. data/utils/thor/generate_source.rb +1 -2
  183. data/utils/thor/generator/endpoint_specifics.rb +4 -0
  184. data/utils/thor/generator/files_helper.rb +38 -20
  185. data/utils/thor/templates/_perform_request.erb +1 -1
  186. metadata +36 -3
@@ -0,0 +1,64 @@
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 Actions
21
+ # Open a point in time that can be used in subsequent searches
22
+ #
23
+ # @option arguments [List] :index A comma-separated list of index names to open point in time; use `_all` or empty string to perform the operation on all indices
24
+ # @option arguments [String] :preference Specify the node or shard the operation should be performed on (default: random)
25
+ # @option arguments [String] :routing Specific routing value
26
+ # @option arguments [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when unavailable (missing or closed)
27
+ # @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)
28
+ # @option arguments [String] :keep_alive Specific the time to live for the point in time
29
+ # @option arguments [Hash] :headers Custom HTTP headers
30
+ #
31
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/point-in-time-api.html
32
+ #
33
+ def open_point_in_time(arguments = {})
34
+ headers = arguments.delete(:headers) || {}
35
+
36
+ arguments = arguments.clone
37
+
38
+ _index = arguments.delete(:index)
39
+
40
+ method = Elasticsearch::API::HTTP_POST
41
+ path = if _index
42
+ "#{Utils.__listify(_index)}/_pit"
43
+ else
44
+ "_pit"
45
+ end
46
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
47
+
48
+ body = nil
49
+ perform_request(method, path, params, body, headers).body
50
+ end
51
+
52
+ # Register this action with its valid params when the module is loaded.
53
+ #
54
+ # @since 6.2.0
55
+ ParamsRegistry.register(:open_point_in_time, [
56
+ :preference,
57
+ :routing,
58
+ :ignore_unavailable,
59
+ :expand_wildcards,
60
+ :keep_alive
61
+ ].freeze)
62
+ end
63
+ end
64
+ end
@@ -22,7 +22,7 @@ module Elasticsearch
22
22
  #
23
23
  # @option arguments [Hash] :headers Custom HTTP headers
24
24
  #
25
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.11/index.html
25
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/index.html
26
26
  #
27
27
  def ping(arguments = {})
28
28
  headers = arguments.delete(:headers) || {}
@@ -27,7 +27,7 @@ module Elasticsearch
27
27
  # @option arguments [Hash] :headers Custom HTTP headers
28
28
  # @option arguments [Hash] :body The document (*Required*)
29
29
  #
30
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.11/modules-scripting.html
30
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/modules-scripting.html
31
31
  #
32
32
  def put_script(arguments = {})
33
33
  raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
@@ -32,7 +32,7 @@ module Elasticsearch
32
32
  # @option arguments [Hash] :headers Custom HTTP headers
33
33
  # @option arguments [Hash] :body The ranking evaluation search definition, including search requests, document ratings and ranking metric definition. (*Required*)
34
34
  #
35
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.11/search-rank-eval.html
35
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/search-rank-eval.html
36
36
  #
37
37
  def rank_eval(arguments = {})
38
38
  raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
@@ -33,7 +33,7 @@ module Elasticsearch
33
33
  # @option arguments [Hash] :headers Custom HTTP headers
34
34
  # @option arguments [Hash] :body The search definition using the Query DSL and the prototype for the index request. (*Required*)
35
35
  #
36
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.11/docs-reindex.html
36
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/docs-reindex.html
37
37
  #
38
38
  def reindex(arguments = {})
39
39
  raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
@@ -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.11/docs-reindex.html
27
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/docs-reindex.html
28
28
  #
29
29
  def reindex_rethrottle(arguments = {})
30
30
  raise ArgumentError, "Required argument 'task_id' missing" unless arguments[:task_id]
@@ -24,7 +24,7 @@ module Elasticsearch
24
24
  # @option arguments [Hash] :headers Custom HTTP headers
25
25
  # @option arguments [Hash] :body The search definition template and its params
26
26
  #
27
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.11/search-template.html#_validating_templates
27
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/search-template.html#_validating_templates
28
28
  #
29
29
  def render_search_template(arguments = {})
30
30
  headers = arguments.delete(:headers) || {}
@@ -27,7 +27,7 @@ module Elasticsearch
27
27
  # @option arguments [Hash] :headers Custom HTTP headers
28
28
  # @option arguments [Hash] :body The script to execute
29
29
  #
30
- # @see https://www.elastic.co/guide/en/elasticsearch/painless/7.11/painless-execute-api.html
30
+ # @see https://www.elastic.co/guide/en/elasticsearch/painless/7.x/painless-execute-api.html
31
31
  #
32
32
  def scripts_painless_execute(arguments = {})
33
33
  headers = arguments.delete(:headers) || {}
@@ -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.11/search-request-body.html#request-body-search-scroll
34
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/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.11/search-search.html
76
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/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.11/search-shards.html
32
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/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.11/search-template.html
46
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/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.11/clean-up-snapshot-repo-api.html
29
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/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.11/modules-snapshots.html
31
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/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.11/modules-snapshots.html
31
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/modules-snapshots.html
32
32
  #
33
33
  def create(arguments = {})
34
34
  raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository]