elasticsearch-api 7.9.0 → 7.14.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (200) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +4 -4
  3. data/README.md +27 -13
  4. data/Rakefile +46 -62
  5. data/elasticsearch-api.gemspec +2 -4
  6. data/lib/elasticsearch/api/actions/bulk.rb +4 -3
  7. data/lib/elasticsearch/api/actions/cat/aliases.rb +1 -1
  8. data/lib/elasticsearch/api/actions/cat/allocation.rb +1 -1
  9. data/lib/elasticsearch/api/actions/cat/count.rb +1 -1
  10. data/lib/elasticsearch/api/actions/cat/fielddata.rb +1 -2
  11. data/lib/elasticsearch/api/actions/cat/health.rb +1 -1
  12. data/lib/elasticsearch/api/actions/cat/help.rb +1 -1
  13. data/lib/elasticsearch/api/actions/cat/indices.rb +2 -2
  14. data/lib/elasticsearch/api/actions/cat/master.rb +1 -1
  15. data/lib/elasticsearch/api/actions/cat/nodeattrs.rb +1 -1
  16. data/lib/elasticsearch/api/actions/cat/nodes.rb +4 -2
  17. data/lib/elasticsearch/api/actions/cat/pending_tasks.rb +1 -1
  18. data/lib/elasticsearch/api/actions/cat/plugins.rb +3 -1
  19. data/lib/elasticsearch/api/actions/cat/recovery.rb +1 -2
  20. data/lib/elasticsearch/api/actions/cat/repositories.rb +1 -1
  21. data/lib/elasticsearch/api/actions/cat/segments.rb +1 -1
  22. data/lib/elasticsearch/api/actions/cat/shards.rb +2 -2
  23. data/lib/elasticsearch/api/actions/cat/snapshots.rb +1 -1
  24. data/lib/elasticsearch/api/actions/cat/tasks.rb +5 -5
  25. data/lib/elasticsearch/api/actions/cat/templates.rb +1 -1
  26. data/lib/elasticsearch/api/actions/cat/thread_pool.rb +1 -1
  27. data/lib/elasticsearch/api/actions/clear_scroll.rb +1 -1
  28. data/lib/elasticsearch/api/actions/close_point_in_time.rb +42 -0
  29. data/lib/elasticsearch/api/actions/cluster/allocation_explain.rb +1 -1
  30. data/lib/elasticsearch/api/actions/cluster/delete_component_template.rb +1 -5
  31. data/lib/elasticsearch/api/actions/cluster/delete_voting_config_exclusions.rb +1 -1
  32. data/lib/elasticsearch/api/actions/cluster/exists_component_template.rb +2 -5
  33. data/lib/elasticsearch/api/actions/cluster/get_component_template.rb +1 -5
  34. data/lib/elasticsearch/api/actions/cluster/get_settings.rb +1 -1
  35. data/lib/elasticsearch/api/actions/cluster/health.rb +1 -1
  36. data/lib/elasticsearch/api/actions/cluster/pending_tasks.rb +1 -1
  37. data/lib/elasticsearch/api/actions/cluster/post_voting_config_exclusions.rb +1 -1
  38. data/lib/elasticsearch/api/actions/cluster/put_component_template.rb +1 -5
  39. data/lib/elasticsearch/api/actions/cluster/put_settings.rb +1 -1
  40. data/lib/elasticsearch/api/actions/cluster/remote_info.rb +1 -1
  41. data/lib/elasticsearch/api/actions/cluster/reroute.rb +1 -1
  42. data/lib/elasticsearch/api/actions/cluster/state.rb +1 -1
  43. data/lib/elasticsearch/api/actions/cluster/stats.rb +1 -1
  44. data/lib/elasticsearch/api/actions/count.rb +1 -1
  45. data/lib/elasticsearch/api/actions/create.rb +1 -1
  46. data/lib/elasticsearch/api/actions/dangling_indices/delete_dangling_index.rb +1 -1
  47. data/lib/elasticsearch/api/actions/dangling_indices/import_dangling_index.rb +1 -1
  48. data/lib/elasticsearch/api/actions/dangling_indices/list_dangling_indices.rb +1 -1
  49. data/lib/elasticsearch/api/actions/delete.rb +1 -1
  50. data/lib/elasticsearch/api/actions/delete_by_query.rb +1 -1
  51. data/lib/elasticsearch/api/actions/delete_by_query_rethrottle.rb +1 -1
  52. data/lib/elasticsearch/api/actions/delete_script.rb +1 -1
  53. data/lib/elasticsearch/api/actions/exists.rb +2 -1
  54. data/lib/elasticsearch/api/actions/exists_source.rb +2 -1
  55. data/lib/elasticsearch/api/actions/explain.rb +6 -6
  56. data/lib/elasticsearch/api/actions/features/get_features.rb +51 -0
  57. data/lib/elasticsearch/api/actions/features/params_registry.rb +60 -0
  58. data/lib/elasticsearch/api/actions/features/reset_features.rb +47 -0
  59. data/lib/elasticsearch/api/actions/field_caps.rb +6 -6
  60. data/lib/elasticsearch/api/actions/get.rb +1 -1
  61. data/lib/elasticsearch/api/actions/get_script.rb +1 -1
  62. data/lib/elasticsearch/api/actions/get_script_context.rb +1 -1
  63. data/lib/elasticsearch/api/actions/get_script_languages.rb +1 -1
  64. data/lib/elasticsearch/api/actions/get_source.rb +1 -1
  65. data/lib/elasticsearch/api/actions/index.rb +4 -2
  66. data/lib/elasticsearch/api/actions/indices/add_block.rb +1 -1
  67. data/lib/elasticsearch/api/actions/indices/analyze.rb +6 -7
  68. data/lib/elasticsearch/api/actions/indices/clear_cache.rb +1 -2
  69. data/lib/elasticsearch/api/actions/indices/clone.rb +1 -1
  70. data/lib/elasticsearch/api/actions/indices/close.rb +2 -2
  71. data/lib/elasticsearch/api/actions/indices/create.rb +1 -1
  72. data/lib/elasticsearch/api/actions/indices/delete.rb +1 -1
  73. data/lib/elasticsearch/api/actions/indices/delete_alias.rb +1 -1
  74. data/lib/elasticsearch/api/actions/indices/delete_index_template.rb +1 -5
  75. data/lib/elasticsearch/api/actions/indices/delete_template.rb +1 -1
  76. data/lib/elasticsearch/api/actions/indices/exists.rb +2 -1
  77. data/lib/elasticsearch/api/actions/indices/exists_alias.rb +2 -1
  78. data/lib/elasticsearch/api/actions/indices/exists_index_template.rb +2 -5
  79. data/lib/elasticsearch/api/actions/indices/exists_template.rb +2 -1
  80. data/lib/elasticsearch/api/actions/indices/exists_type.rb +2 -1
  81. data/lib/elasticsearch/api/actions/indices/flush.rb +1 -1
  82. data/lib/elasticsearch/api/actions/indices/flush_synced.rb +6 -1
  83. data/lib/elasticsearch/api/actions/indices/forcemerge.rb +1 -1
  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 -5
  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 +7 -2
  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 -5
  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 -5
  106. data/lib/elasticsearch/api/actions/indices/simulate_template.rb +1 -5
  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/update_aliases.rb +1 -1
  110. data/lib/elasticsearch/api/actions/indices/upgrade.rb +7 -2
  111. data/lib/elasticsearch/api/actions/indices/validate_query.rb +8 -8
  112. data/lib/elasticsearch/api/actions/info.rb +1 -1
  113. data/lib/elasticsearch/api/actions/ingest/delete_pipeline.rb +1 -1
  114. data/lib/elasticsearch/api/actions/ingest/geo_ip_stats.rb +43 -0
  115. data/lib/elasticsearch/api/actions/ingest/get_pipeline.rb +3 -1
  116. data/lib/elasticsearch/api/actions/ingest/processor_grok.rb +1 -1
  117. data/lib/elasticsearch/api/actions/ingest/put_pipeline.rb +1 -1
  118. data/lib/elasticsearch/api/actions/ingest/simulate.rb +1 -1
  119. data/lib/elasticsearch/api/actions/mget.rb +1 -1
  120. data/lib/elasticsearch/api/actions/msearch.rb +4 -6
  121. data/lib/elasticsearch/api/actions/msearch_template.rb +2 -2
  122. data/lib/elasticsearch/api/actions/mtermvectors.rb +8 -8
  123. data/lib/elasticsearch/api/actions/nodes/hot_threads.rb +1 -1
  124. data/lib/elasticsearch/api/actions/nodes/info.rb +1 -1
  125. data/lib/elasticsearch/api/actions/nodes/reload_secure_settings.rb +1 -1
  126. data/lib/elasticsearch/api/actions/nodes/stats.rb +4 -2
  127. data/lib/elasticsearch/api/actions/nodes/usage.rb +1 -1
  128. data/lib/elasticsearch/api/actions/open_point_in_time.rb +64 -0
  129. data/lib/elasticsearch/api/actions/ping.rb +3 -3
  130. data/lib/elasticsearch/api/actions/put_script.rb +1 -2
  131. data/lib/elasticsearch/api/actions/rank_eval.rb +1 -1
  132. data/lib/elasticsearch/api/actions/reindex.rb +1 -1
  133. data/lib/elasticsearch/api/actions/reindex_rethrottle.rb +1 -1
  134. data/lib/elasticsearch/api/actions/render_search_template.rb +6 -6
  135. data/lib/elasticsearch/api/actions/scripts_painless_execute.rb +2 -2
  136. data/lib/elasticsearch/api/actions/scroll.rb +6 -7
  137. data/lib/elasticsearch/api/actions/search.rb +11 -9
  138. data/lib/elasticsearch/api/actions/search_shards.rb +1 -1
  139. data/lib/elasticsearch/api/actions/search_template.rb +2 -2
  140. data/lib/elasticsearch/api/actions/shutdown/delete_node.rb +52 -0
  141. data/lib/elasticsearch/api/actions/shutdown/get_node.rb +54 -0
  142. data/lib/elasticsearch/api/actions/shutdown/params_registry.rb +60 -0
  143. data/lib/elasticsearch/api/actions/shutdown/put_node.rb +54 -0
  144. data/lib/elasticsearch/api/actions/snapshot/cleanup_repository.rb +1 -1
  145. data/lib/elasticsearch/api/actions/snapshot/clone.rb +66 -0
  146. data/lib/elasticsearch/api/actions/snapshot/create.rb +1 -1
  147. data/lib/elasticsearch/api/actions/snapshot/create_repository.rb +1 -1
  148. data/lib/elasticsearch/api/actions/snapshot/delete.rb +1 -1
  149. data/lib/elasticsearch/api/actions/snapshot/delete_repository.rb +1 -1
  150. data/lib/elasticsearch/api/actions/snapshot/get.rb +5 -1
  151. data/lib/elasticsearch/api/actions/snapshot/get_features.rb +51 -0
  152. data/lib/elasticsearch/api/actions/snapshot/get_repository.rb +1 -1
  153. data/lib/elasticsearch/api/actions/snapshot/repository_analyze.rb +76 -0
  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 +5 -1
  158. data/lib/elasticsearch/api/actions/tasks/get.rb +5 -1
  159. data/lib/elasticsearch/api/actions/tasks/list.rb +5 -1
  160. data/lib/elasticsearch/api/actions/termvectors.rb +11 -10
  161. data/lib/elasticsearch/api/actions/update.rb +4 -2
  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/security.rb +36 -0
  166. data/lib/elasticsearch/api/namespace/shutdown.rb +37 -0
  167. data/lib/elasticsearch/api/version.rb +1 -1
  168. data/lib/elasticsearch/api.rb +3 -1
  169. data/spec/elasticsearch/api/actions/close_point_in_time_spec.rb +34 -0
  170. data/spec/elasticsearch/api/actions/features/get_features_spec.rb +34 -0
  171. data/spec/elasticsearch/api/actions/features/reset_features_spec.rb +34 -0
  172. data/spec/elasticsearch/api/actions/indices/clear_cache_spec.rb +16 -3
  173. data/spec/elasticsearch/api/actions/ingest/geo_ip_stats_spec.rb +34 -0
  174. data/spec/elasticsearch/api/actions/msearch_spec.rb +16 -33
  175. data/spec/elasticsearch/api/actions/open_point_in_time_spec.rb +44 -0
  176. data/spec/elasticsearch/api/actions/shutdown/delete_node_spec.rb +44 -0
  177. data/spec/elasticsearch/api/actions/{indices/freeze_spec.rb → shutdown/get_node_spec.rb} +12 -51
  178. data/spec/elasticsearch/api/actions/shutdown/put_node_spec.rb +50 -0
  179. data/spec/elasticsearch/api/actions/snapshot/clone_spec.rb +67 -0
  180. data/spec/elasticsearch/api/actions/snapshot/get_features_spec.rb +38 -0
  181. data/spec/elasticsearch/api/actions/snapshot/repository_analize_spec.rb +48 -0
  182. data/spec/elasticsearch/api/rest_api_yaml_spec.rb +36 -9
  183. data/spec/rest_yaml_tests_helper.rb +25 -52
  184. data/spec/skipped_tests.yml +29 -0
  185. data/spec/spec_helper.rb +4 -1
  186. data/utils/Gemfile +4 -3
  187. data/utils/README.md +6 -1
  188. data/utils/thor/generate_source.rb +1 -2
  189. data/utils/thor/generator/endpoint_specifics.rb +6 -2
  190. data/utils/thor/generator/files_helper.rb +38 -20
  191. data/utils/thor/templates/_documentation_top.erb +20 -1
  192. data/utils/thor/templates/_method_setup.erb +18 -0
  193. data/utils/thor/templates/_params_registry.erb +19 -0
  194. data/utils/thor/templates/_perform_request.erb +19 -1
  195. data/utils/thor/templates/test.erb +16 -3
  196. data/utils/thor/templates/test_helper.rb +0 -4
  197. metadata +46 -46
  198. data/lib/elasticsearch/api/actions/indices/freeze.rb +0 -56
  199. data/lib/elasticsearch/api/actions/indices/unfreeze.rb +0 -56
  200. data/spec/elasticsearch/api/actions/indices/unfreeze_spec.rb +0 -85
@@ -24,11 +24,10 @@ module Elasticsearch
24
24
  # @option arguments [String] :context Script context
25
25
  # @option arguments [Time] :timeout Explicit operation timeout
26
26
  # @option arguments [Time] :master_timeout Specify timeout for connection to master
27
- # @option arguments [String] :context Context name to compile script against
28
27
  # @option arguments [Hash] :headers Custom HTTP headers
29
28
  # @option arguments [Hash] :body The document (*Required*)
30
29
  #
31
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.9/modules-scripting.html
30
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.14/modules-scripting.html
32
31
  #
33
32
  def put_script(arguments = {})
34
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.9/search-rank-eval.html
35
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.14/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.9/docs-reindex.html
36
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.14/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.9/docs-reindex.html
27
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.14/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.9/search-template.html#_validating_templates
27
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.14/render-search-template-api.html
28
28
  #
29
29
  def render_search_template(arguments = {})
30
30
  headers = arguments.delete(:headers) || {}
@@ -39,11 +39,11 @@ module Elasticsearch
39
39
  Elasticsearch::API::HTTP_GET
40
40
  end
41
41
 
42
- path = if _id
43
- "_render/template/#{Utils.__listify(_id)}"
44
- else
45
- "_render/template"
46
- end
42
+ path = if _id
43
+ "_render/template/#{Utils.__listify(_id)}"
44
+ else
45
+ "_render/template"
46
+ end
47
47
  params = {}
48
48
 
49
49
  body = arguments[:body]
@@ -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.9/painless-execute-api.html
30
+ # @see https://www.elastic.co/guide/en/elasticsearch/painless/7.14/painless-execute-api.html
31
31
  #
32
32
  def scripts_painless_execute(arguments = {})
33
33
  headers = arguments.delete(:headers) || {}
@@ -40,7 +40,7 @@ module Elasticsearch
40
40
  Elasticsearch::API::HTTP_GET
41
41
  end
42
42
 
43
- path = "_scripts/painless/_execute"
43
+ path = "_scripts/painless/_execute"
44
44
  params = {}
45
45
 
46
46
  body = arguments[:body]
@@ -22,7 +22,6 @@ module Elasticsearch
22
22
  #
23
23
  # @option arguments [String] :scroll_id The scroll ID *Deprecated*
24
24
  # @option arguments [Time] :scroll Specify how long a consistent view of the index should be maintained for scrolled search
25
- # @option arguments [String] :scroll_id The scroll ID for scrolled search
26
25
  # @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
27
26
  # @option arguments [Hash] :headers Custom HTTP headers
28
27
  # @option arguments [Hash] :body The scroll ID if not passed by URL or query parameter.
@@ -32,7 +31,7 @@ module Elasticsearch
32
31
  # Deprecated since version 7.0.0
33
32
  #
34
33
  #
35
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.9/search-request-body.html#request-body-search-scroll
34
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.14/search-request-body.html#request-body-search-scroll
36
35
  #
37
36
  def scroll(arguments = {})
38
37
  headers = arguments.delete(:headers) || {}
@@ -47,11 +46,11 @@ module Elasticsearch
47
46
  Elasticsearch::API::HTTP_GET
48
47
  end
49
48
 
50
- path = if _scroll_id
51
- "_search/scroll/#{Utils.__listify(_scroll_id)}"
52
- else
53
- "_search/scroll"
54
- end
49
+ path = if _scroll_id
50
+ "_search/scroll/#{Utils.__listify(_scroll_id)}"
51
+ else
52
+ "_search/scroll"
53
+ end
55
54
  params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
56
55
 
57
56
  body = arguments[:body]
@@ -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.9/search-search.html
76
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.14/search-search.html
76
77
  #
77
78
  def search(arguments = {})
78
79
  headers = arguments.delete(:headers) || {}
@@ -90,13 +91,13 @@ module Elasticsearch
90
91
  Elasticsearch::API::HTTP_GET
91
92
  end
92
93
 
93
- path = if _index && _type
94
- "#{Utils.__listify(_index)}/#{Utils.__listify(_type)}/_search"
95
- elsif _index
96
- "#{Utils.__listify(_index)}/_search"
97
- else
98
- "_search"
99
- end
94
+ path = if _index && _type
95
+ "#{Utils.__listify(_index)}/#{Utils.__listify(_type)}/_search"
96
+ elsif _index
97
+ "#{Utils.__listify(_index)}/_search"
98
+ else
99
+ "_search"
100
+ end
100
101
  params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
101
102
 
102
103
  body = arguments[:body]
@@ -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.9/search-shards.html
32
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.14/search-shards.html
33
33
  #
34
34
  def search_shards(arguments = {})
35
35
  headers = arguments.delete(:headers) || {}
@@ -29,7 +29,7 @@ module Elasticsearch
29
29
  # @option arguments [String] :preference Specify the node or shard the operation should be performed on (default: random)
30
30
  # @option arguments [List] :routing A comma-separated list of specific routing values
31
31
  # @option arguments [Time] :scroll Specify how long a consistent view of the index should be maintained for scrolled search
32
- # @option arguments [String] :search_type Search operation type (options: query_then_fetch, query_and_fetch, dfs_query_then_fetch, dfs_query_and_fetch)
32
+ # @option arguments [String] :search_type Search operation type (options: query_then_fetch, dfs_query_then_fetch)
33
33
  # @option arguments [Boolean] :explain Specify whether to return detailed information about score computation as part of a hit
34
34
  # @option arguments [Boolean] :profile Specify whether to profile the query execution
35
35
  # @option arguments [Boolean] :typed_keys Specify whether aggregation and suggester names should be prefixed by their respective types in the response
@@ -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.9/search-template.html
46
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.14/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.9/clean-up-snapshot-repo-api.html
29
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.14/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]
@@ -0,0 +1,66 @@
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
+ # Clones indices from one snapshot into another snapshot in the same repository.
23
+ #
24
+ # @option arguments [String] :repository A repository name
25
+ # @option arguments [String] :snapshot The name of the snapshot to clone from
26
+ # @option arguments [String] :target_snapshot The name of the cloned snapshot to create
27
+ # @option arguments [Time] :master_timeout Explicit operation timeout for connection to master node
28
+ # @option arguments [Hash] :headers Custom HTTP headers
29
+ # @option arguments [Hash] :body The snapshot clone definition (*Required*)
30
+ #
31
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.14/modules-snapshots.html
32
+ #
33
+ def clone(arguments = {})
34
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
35
+ raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository]
36
+ raise ArgumentError, "Required argument 'snapshot' missing" unless arguments[:snapshot]
37
+ raise ArgumentError, "Required argument 'target_snapshot' missing" unless arguments[:target_snapshot]
38
+
39
+ headers = arguments.delete(:headers) || {}
40
+
41
+ arguments = arguments.clone
42
+
43
+ _repository = arguments.delete(:repository)
44
+
45
+ _snapshot = arguments.delete(:snapshot)
46
+
47
+ _target_snapshot = arguments.delete(:target_snapshot)
48
+
49
+ method = Elasticsearch::API::HTTP_PUT
50
+ path = "_snapshot/#{Utils.__listify(_repository)}/#{Utils.__listify(_snapshot)}/_clone/#{Utils.__listify(_target_snapshot)}"
51
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
52
+
53
+ body = arguments[:body]
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(:clone, [
61
+ :master_timeout
62
+ ].freeze)
63
+ end
64
+ end
65
+ end
66
+ end