elasticsearch-api 7.8.0 → 7.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (183) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +18 -2
  3. data/lib/elasticsearch/api.rb +2 -1
  4. data/lib/elasticsearch/api/actions/bulk.rb +10 -10
  5. data/lib/elasticsearch/api/actions/cat/aliases.rb +4 -6
  6. data/lib/elasticsearch/api/actions/cat/allocation.rb +4 -6
  7. data/lib/elasticsearch/api/actions/cat/count.rb +3 -3
  8. data/lib/elasticsearch/api/actions/cat/fielddata.rb +4 -7
  9. data/lib/elasticsearch/api/actions/cat/health.rb +3 -5
  10. data/lib/elasticsearch/api/actions/cat/help.rb +2 -2
  11. data/lib/elasticsearch/api/actions/cat/indices.rb +7 -15
  12. data/lib/elasticsearch/api/actions/cat/master.rb +2 -2
  13. data/lib/elasticsearch/api/actions/cat/nodeattrs.rb +2 -2
  14. data/lib/elasticsearch/api/actions/cat/nodes.rb +5 -9
  15. data/lib/elasticsearch/api/actions/cat/pending_tasks.rb +3 -5
  16. data/lib/elasticsearch/api/actions/cat/plugins.rb +2 -2
  17. data/lib/elasticsearch/api/actions/cat/recovery.rb +5 -10
  18. data/lib/elasticsearch/api/actions/cat/repositories.rb +2 -2
  19. data/lib/elasticsearch/api/actions/cat/segments.rb +4 -6
  20. data/lib/elasticsearch/api/actions/cat/shards.rb +5 -9
  21. data/lib/elasticsearch/api/actions/cat/snapshots.rb +4 -6
  22. data/lib/elasticsearch/api/actions/cat/tasks.rb +3 -5
  23. data/lib/elasticsearch/api/actions/cat/templates.rb +3 -3
  24. data/lib/elasticsearch/api/actions/cat/thread_pool.rb +4 -6
  25. data/lib/elasticsearch/api/actions/clear_scroll.rb +4 -4
  26. data/lib/elasticsearch/api/actions/cluster/allocation_explain.rb +9 -4
  27. data/lib/elasticsearch/api/actions/cluster/delete_component_template.rb +6 -2
  28. data/lib/elasticsearch/api/actions/cluster/delete_voting_config_exclusions.rb +2 -2
  29. data/lib/elasticsearch/api/actions/cluster/exists_component_template.rb +6 -2
  30. data/lib/elasticsearch/api/actions/cluster/get_component_template.rb +7 -3
  31. data/lib/elasticsearch/api/actions/cluster/get_settings.rb +2 -2
  32. data/lib/elasticsearch/api/actions/cluster/health.rb +7 -15
  33. data/lib/elasticsearch/api/actions/cluster/pending_tasks.rb +2 -2
  34. data/lib/elasticsearch/api/actions/cluster/post_voting_config_exclusions.rb +2 -2
  35. data/lib/elasticsearch/api/actions/cluster/put_component_template.rb +6 -2
  36. data/lib/elasticsearch/api/actions/cluster/put_settings.rb +2 -2
  37. data/lib/elasticsearch/api/actions/cluster/remote_info.rb +2 -2
  38. data/lib/elasticsearch/api/actions/cluster/reroute.rb +3 -5
  39. data/lib/elasticsearch/api/actions/cluster/state.rb +5 -9
  40. data/lib/elasticsearch/api/actions/cluster/stats.rb +3 -3
  41. data/lib/elasticsearch/api/actions/count.rb +11 -20
  42. data/lib/elasticsearch/api/actions/create.rb +5 -9
  43. data/lib/elasticsearch/api/actions/dangling_indices/delete_dangling_index.rb +60 -0
  44. data/lib/elasticsearch/api/actions/dangling_indices/import_dangling_index.rb +60 -0
  45. data/lib/elasticsearch/api/actions/{indices/get_data_streams.rb → dangling_indices/list_dangling_indices.rb} +6 -13
  46. data/lib/elasticsearch/api/actions/dangling_indices/params_registry.rb +60 -0
  47. data/lib/elasticsearch/api/actions/delete.rb +6 -10
  48. data/lib/elasticsearch/api/actions/delete_by_query.rb +8 -16
  49. data/lib/elasticsearch/api/actions/delete_by_query_rethrottle.rb +3 -3
  50. data/lib/elasticsearch/api/actions/delete_script.rb +2 -2
  51. data/lib/elasticsearch/api/actions/exists.rb +5 -7
  52. data/lib/elasticsearch/api/actions/exists_source.rb +5 -7
  53. data/lib/elasticsearch/api/actions/explain.rb +14 -11
  54. data/lib/elasticsearch/api/actions/field_caps.rb +15 -11
  55. data/lib/elasticsearch/api/actions/get.rb +5 -7
  56. data/lib/elasticsearch/api/actions/get_script.rb +2 -2
  57. data/lib/elasticsearch/api/actions/get_script_context.rb +6 -2
  58. data/lib/elasticsearch/api/actions/get_script_languages.rb +6 -2
  59. data/lib/elasticsearch/api/actions/get_source.rb +5 -7
  60. data/lib/elasticsearch/api/actions/index.rb +10 -14
  61. data/lib/elasticsearch/api/actions/indices/add_block.rb +68 -0
  62. data/lib/elasticsearch/api/actions/indices/analyze.rb +12 -8
  63. data/lib/elasticsearch/api/actions/indices/clear_cache.rb +4 -7
  64. data/lib/elasticsearch/api/actions/indices/clone.rb +2 -2
  65. data/lib/elasticsearch/api/actions/indices/close.rb +3 -5
  66. data/lib/elasticsearch/api/actions/indices/create.rb +2 -2
  67. data/lib/elasticsearch/api/actions/indices/delete.rb +3 -5
  68. data/lib/elasticsearch/api/actions/indices/delete_alias.rb +3 -3
  69. data/lib/elasticsearch/api/actions/indices/delete_index_template.rb +6 -2
  70. data/lib/elasticsearch/api/actions/indices/delete_template.rb +2 -2
  71. data/lib/elasticsearch/api/actions/indices/exists.rb +3 -5
  72. data/lib/elasticsearch/api/actions/indices/exists_alias.rb +4 -6
  73. data/lib/elasticsearch/api/actions/indices/exists_index_template.rb +6 -2
  74. data/lib/elasticsearch/api/actions/indices/exists_template.rb +2 -2
  75. data/lib/elasticsearch/api/actions/indices/exists_type.rb +3 -5
  76. data/lib/elasticsearch/api/actions/indices/flush.rb +4 -6
  77. data/lib/elasticsearch/api/actions/indices/flush_synced.rb +9 -6
  78. data/lib/elasticsearch/api/actions/indices/forcemerge.rb +4 -6
  79. data/lib/elasticsearch/api/actions/indices/get.rb +3 -5
  80. data/lib/elasticsearch/api/actions/indices/get_alias.rb +4 -6
  81. data/lib/elasticsearch/api/actions/indices/get_field_mapping.rb +5 -7
  82. data/lib/elasticsearch/api/actions/indices/get_index_template.rb +7 -3
  83. data/lib/elasticsearch/api/actions/indices/get_mapping.rb +6 -8
  84. data/lib/elasticsearch/api/actions/indices/get_settings.rb +4 -6
  85. data/lib/elasticsearch/api/actions/indices/get_template.rb +3 -3
  86. data/lib/elasticsearch/api/actions/indices/get_upgrade.rb +4 -6
  87. data/lib/elasticsearch/api/actions/indices/open.rb +3 -5
  88. data/lib/elasticsearch/api/actions/indices/put_alias.rb +3 -3
  89. data/lib/elasticsearch/api/actions/indices/put_index_template.rb +6 -2
  90. data/lib/elasticsearch/api/actions/indices/put_mapping.rb +8 -8
  91. data/lib/elasticsearch/api/actions/indices/put_settings.rb +4 -6
  92. data/lib/elasticsearch/api/actions/indices/put_template.rb +2 -2
  93. data/lib/elasticsearch/api/actions/indices/recovery.rb +3 -3
  94. data/lib/elasticsearch/api/actions/indices/refresh.rb +4 -6
  95. data/lib/elasticsearch/api/actions/indices/{delete_data_stream.rb → resolve_index.rb} +20 -8
  96. data/lib/elasticsearch/api/actions/indices/rollover.rb +3 -3
  97. data/lib/elasticsearch/api/actions/indices/segments.rb +4 -6
  98. data/lib/elasticsearch/api/actions/indices/shard_stores.rb +5 -9
  99. data/lib/elasticsearch/api/actions/indices/shrink.rb +2 -2
  100. data/lib/elasticsearch/api/actions/indices/simulate_index_template.rb +6 -2
  101. data/lib/elasticsearch/api/actions/indices/simulate_template.rb +67 -0
  102. data/lib/elasticsearch/api/actions/indices/split.rb +2 -2
  103. data/lib/elasticsearch/api/actions/indices/stats.rb +5 -11
  104. data/lib/elasticsearch/api/actions/indices/update_aliases.rb +2 -2
  105. data/lib/elasticsearch/api/actions/indices/upgrade.rb +4 -6
  106. data/lib/elasticsearch/api/actions/indices/validate_query.rb +17 -16
  107. data/lib/elasticsearch/api/actions/info.rb +2 -2
  108. data/lib/elasticsearch/api/actions/ingest/delete_pipeline.rb +2 -2
  109. data/lib/elasticsearch/api/actions/ingest/get_pipeline.rb +3 -3
  110. data/lib/elasticsearch/api/actions/ingest/processor_grok.rb +2 -2
  111. data/lib/elasticsearch/api/actions/ingest/put_pipeline.rb +2 -2
  112. data/lib/elasticsearch/api/actions/ingest/simulate.rb +4 -4
  113. data/lib/elasticsearch/api/actions/mget.rb +5 -5
  114. data/lib/elasticsearch/api/actions/msearch.rb +8 -12
  115. data/lib/elasticsearch/api/actions/msearch_template.rb +6 -8
  116. data/lib/elasticsearch/api/actions/mtermvectors.rb +16 -13
  117. data/lib/elasticsearch/api/actions/nodes/hot_threads.rb +4 -6
  118. data/lib/elasticsearch/api/actions/nodes/info.rb +4 -6
  119. data/lib/elasticsearch/api/actions/nodes/reload_secure_settings.rb +3 -3
  120. data/lib/elasticsearch/api/actions/nodes/stats.rb +6 -12
  121. data/lib/elasticsearch/api/actions/nodes/usage.rb +4 -6
  122. data/lib/elasticsearch/api/actions/ping.rb +2 -2
  123. data/lib/elasticsearch/api/actions/put_script.rb +3 -4
  124. data/lib/elasticsearch/api/actions/rank_eval.rb +10 -10
  125. data/lib/elasticsearch/api/actions/reindex.rb +2 -2
  126. data/lib/elasticsearch/api/actions/reindex_rethrottle.rb +3 -3
  127. data/lib/elasticsearch/api/actions/render_search_template.rb +12 -7
  128. data/lib/elasticsearch/api/actions/scripts_painless_execute.rb +13 -4
  129. data/lib/elasticsearch/api/actions/scroll.rb +13 -9
  130. data/lib/elasticsearch/api/actions/search.rb +18 -21
  131. data/lib/elasticsearch/api/actions/search_shards.rb +4 -6
  132. data/lib/elasticsearch/api/actions/search_template.rb +6 -10
  133. data/lib/elasticsearch/api/actions/snapshot/cleanup_repository.rb +2 -2
  134. data/lib/elasticsearch/api/actions/snapshot/clone.rb +66 -0
  135. data/lib/elasticsearch/api/actions/snapshot/create.rb +2 -2
  136. data/lib/elasticsearch/api/actions/snapshot/create_repository.rb +2 -2
  137. data/lib/elasticsearch/api/actions/snapshot/delete.rb +2 -2
  138. data/lib/elasticsearch/api/actions/snapshot/delete_repository.rb +2 -2
  139. data/lib/elasticsearch/api/actions/snapshot/get.rb +2 -2
  140. data/lib/elasticsearch/api/actions/snapshot/get_repository.rb +3 -3
  141. data/lib/elasticsearch/api/actions/snapshot/restore.rb +2 -2
  142. data/lib/elasticsearch/api/actions/snapshot/status.rb +3 -3
  143. data/lib/elasticsearch/api/actions/snapshot/verify_repository.rb +2 -2
  144. data/lib/elasticsearch/api/actions/tasks/cancel.rb +3 -3
  145. data/lib/elasticsearch/api/actions/tasks/get.rb +2 -2
  146. data/lib/elasticsearch/api/actions/tasks/list.rb +3 -5
  147. data/lib/elasticsearch/api/actions/termvectors.rb +10 -8
  148. data/lib/elasticsearch/api/actions/update.rb +8 -8
  149. data/lib/elasticsearch/api/actions/update_by_query.rb +8 -16
  150. data/lib/elasticsearch/api/actions/update_by_query_rethrottle.rb +3 -3
  151. data/lib/elasticsearch/api/namespace/cat.rb +0 -1
  152. data/lib/elasticsearch/api/namespace/dangling_indices.rb +35 -0
  153. data/lib/elasticsearch/api/version.rb +1 -1
  154. data/spec/elasticsearch/api/actions/count_spec.rb +2 -2
  155. data/spec/elasticsearch/api/actions/dangling_indices/delete_dangling_indices_spec.rb +48 -0
  156. data/spec/elasticsearch/api/actions/dangling_indices/import_dangling_indices_spec.rb +48 -0
  157. data/spec/elasticsearch/api/actions/dangling_indices/list_dangling_indices_spec.rb +36 -0
  158. data/spec/elasticsearch/api/actions/explain_document_spec.rb +8 -9
  159. data/spec/elasticsearch/api/actions/indices/add_block_spec.rb +63 -0
  160. data/spec/elasticsearch/api/actions/indices/analyze_spec.rb +7 -8
  161. data/spec/elasticsearch/api/actions/indices/validate_query_spec.rb +7 -13
  162. data/spec/elasticsearch/api/actions/ingest/simulate_spec.rb +6 -7
  163. data/spec/elasticsearch/api/actions/json_builders_spec.rb +10 -13
  164. data/spec/elasticsearch/api/actions/mget_spec.rb +5 -6
  165. data/spec/elasticsearch/api/actions/msearch_spec.rb +21 -39
  166. data/spec/elasticsearch/api/actions/msearch_template_spec.rb +5 -6
  167. data/spec/elasticsearch/api/actions/mtermvectors_spec.rb +7 -7
  168. data/spec/elasticsearch/api/actions/render_search_template_spec.rb +2 -2
  169. data/spec/elasticsearch/api/actions/scroll_spec.rb +1 -1
  170. data/spec/elasticsearch/api/actions/search_spec.rb +7 -7
  171. data/spec/elasticsearch/api/actions/search_template_spec.rb +5 -6
  172. data/spec/elasticsearch/api/actions/snapshot/clone_spec.rb +67 -0
  173. data/spec/elasticsearch/api/actions/termvectors_spec.rb +5 -7
  174. data/spec/elasticsearch/api/rest_api_yaml_spec.rb +11 -7
  175. data/utils/thor/.rubocop.yml +2 -0
  176. data/utils/thor/generate_source.rb +54 -19
  177. data/utils/thor/generator/endpoint_specifics.rb +10 -3
  178. data/utils/thor/templates/_documentation_top.erb +13 -2
  179. metadata +22 -11
  180. data/lib/elasticsearch/api/actions/indices/create_data_stream.rb +0 -50
  181. data/spec/README.md +0 -61
  182. data/test/integration/yaml_test_runner.rb +0 -592
  183. data/test/test_helper.rb +0 -118
@@ -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.8/docs-reindex.html
36
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.10/docs-reindex.html
37
37
  #
38
38
  def reindex(arguments = {})
39
39
  raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
@@ -64,5 +64,5 @@ module Elasticsearch
64
64
  :max_docs
65
65
  ].freeze)
66
66
  end
67
- end
67
+ end
68
68
  end
@@ -21,10 +21,10 @@ module Elasticsearch
21
21
  # Changes the number of requests per second for a particular Reindex operation.
22
22
  #
23
23
  # @option arguments [String] :task_id The task id to rethrottle
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*)
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.8/docs-reindex.html
27
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.10/docs-reindex.html
28
28
  #
29
29
  def reindex_rethrottle(arguments = {})
30
30
  raise ArgumentError, "Required argument 'task_id' missing" unless arguments[:task_id]
@@ -50,5 +50,5 @@ module Elasticsearch
50
50
  :requests_per_second
51
51
  ].freeze)
52
52
  end
53
- end
53
+ end
54
54
  end
@@ -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.8/search-template.html#_validating_templates
27
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.10/search-template.html#_validating_templates
28
28
  #
29
29
  def render_search_template(arguments = {})
30
30
  headers = arguments.delete(:headers) || {}
@@ -33,17 +33,22 @@ module Elasticsearch
33
33
 
34
34
  _id = arguments.delete(:id)
35
35
 
36
- method = Elasticsearch::API::HTTP_GET
37
- path = if _id
38
- "_render/template/#{Utils.__listify(_id)}"
36
+ method = if arguments[:body]
37
+ Elasticsearch::API::HTTP_POST
39
38
  else
40
- "_render/template"
41
- end
39
+ Elasticsearch::API::HTTP_GET
40
+ end
41
+
42
+ path = if _id
43
+ "_render/template/#{Utils.__listify(_id)}"
44
+ else
45
+ "_render/template"
46
+ end
42
47
  params = {}
43
48
 
44
49
  body = arguments[:body]
45
50
  perform_request(method, path, params, body, headers).body
46
51
  end
47
52
  end
48
- end
53
+ end
49
54
  end
@@ -19,24 +19,33 @@ module Elasticsearch
19
19
  module API
20
20
  module Actions
21
21
  # Allows an arbitrary script to be executed and a result to be returned
22
+ # This functionality is Experimental and may be changed or removed
23
+ # completely in a future release. Elastic will take a best effort approach
24
+ # to fix any issues, but experimental features are not subject to the
25
+ # support SLA of official GA features.
22
26
  #
23
27
  # @option arguments [Hash] :headers Custom HTTP headers
24
28
  # @option arguments [Hash] :body The script to execute
25
29
  #
26
- # @see https://www.elastic.co/guide/en/elasticsearch/painless/7.8/painless-execute-api.html
30
+ # @see https://www.elastic.co/guide/en/elasticsearch/painless/7.10/painless-execute-api.html
27
31
  #
28
32
  def scripts_painless_execute(arguments = {})
29
33
  headers = arguments.delete(:headers) || {}
30
34
 
31
35
  arguments = arguments.clone
32
36
 
33
- method = Elasticsearch::API::HTTP_GET
34
- path = "_scripts/painless/_execute"
37
+ method = if arguments[:body]
38
+ Elasticsearch::API::HTTP_POST
39
+ else
40
+ Elasticsearch::API::HTTP_GET
41
+ end
42
+
43
+ path = "_scripts/painless/_execute"
35
44
  params = {}
36
45
 
37
46
  body = arguments[:body]
38
47
  perform_request(method, path, params, body, headers).body
39
48
  end
40
49
  end
41
- end
50
+ end
42
51
  end
@@ -20,9 +20,8 @@ module Elasticsearch
20
20
  module Actions
21
21
  # Allows to retrieve a large numbers of results from a single search request.
22
22
  #
23
- # @option arguments [String] :scroll_id The scroll ID *Deprecated*
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.8/search-request-body.html#request-body-search-scroll
34
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.10/search-request-body.html#request-body-search-scroll
36
35
  #
37
36
  def scroll(arguments = {})
38
37
  headers = arguments.delete(:headers) || {}
@@ -41,12 +40,17 @@ module Elasticsearch
41
40
 
42
41
  _scroll_id = arguments.delete(:scroll_id)
43
42
 
44
- method = Elasticsearch::API::HTTP_GET
45
- path = if _scroll_id
46
- "_search/scroll/#{Utils.__listify(_scroll_id)}"
43
+ method = if arguments[:body]
44
+ Elasticsearch::API::HTTP_POST
47
45
  else
48
- "_search/scroll"
49
- end
46
+ Elasticsearch::API::HTTP_GET
47
+ end
48
+
49
+ path = if _scroll_id
50
+ "_search/scroll/#{Utils.__listify(_scroll_id)}"
51
+ else
52
+ "_search/scroll"
53
+ end
50
54
  params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
51
55
 
52
56
  body = arguments[:body]
@@ -62,5 +66,5 @@ module Elasticsearch
62
66
  :rest_total_hits_as_int
63
67
  ].freeze)
64
68
  end
65
- end
69
+ end
66
70
  end
@@ -25,9 +25,7 @@ module Elasticsearch
25
25
  # @option arguments [String] :analyzer The analyzer to use for the query string
26
26
  # @option arguments [Boolean] :analyze_wildcard Specify whether wildcard and prefix queries should be analyzed (default: false)
27
27
  # @option arguments [Boolean] :ccs_minimize_roundtrips Indicates whether network round-trips should be minimized as part of cross-cluster search requests execution
28
- # @option arguments [String] :default_operator The default operator for query string query (AND or OR)
29
- # (options: AND,OR)
30
-
28
+ # @option arguments [String] :default_operator The default operator for query string query (AND or OR) (options: AND, OR)
31
29
  # @option arguments [String] :df The field to use as default where no field prefix is given in the query string
32
30
  # @option arguments [Boolean] :explain Specify whether to return detailed information about score computation as part of a hit
33
31
  # @option arguments [List] :stored_fields A comma-separated list of stored fields to return as part of a hit
@@ -36,17 +34,13 @@ module Elasticsearch
36
34
  # @option arguments [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when unavailable (missing or closed)
37
35
  # @option arguments [Boolean] :ignore_throttled Whether specified concrete, expanded or aliased indices should be ignored when throttled
38
36
  # @option arguments [Boolean] :allow_no_indices Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified)
39
- # @option arguments [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that are open, closed or both.
40
- # (options: open,closed,hidden,none,all)
41
-
37
+ # @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)
42
38
  # @option arguments [Boolean] :lenient Specify whether format-based query failures (such as providing text to a numeric field) should be ignored
43
39
  # @option arguments [String] :preference Specify the node or shard the operation should be performed on (default: random)
44
40
  # @option arguments [String] :q Query in the Lucene query string syntax
45
41
  # @option arguments [List] :routing A comma-separated list of specific routing values
46
42
  # @option arguments [Time] :scroll Specify how long a consistent view of the index should be maintained for scrolled search
47
- # @option arguments [String] :search_type Search operation type
48
- # (options: query_then_fetch,dfs_query_then_fetch)
49
-
43
+ # @option arguments [String] :search_type Search operation type (options: query_then_fetch, dfs_query_then_fetch)
50
44
  # @option arguments [Number] :size Number of hits to return (default: 10)
51
45
  # @option arguments [List] :sort A comma-separated list of <field>:<direction> pairs
52
46
  # @option arguments [List] :_source True or false to return the _source field or not, or a list of fields to return
@@ -55,9 +49,7 @@ module Elasticsearch
55
49
  # @option arguments [Number] :terminate_after The maximum number of documents to collect for each shard, upon reaching which the query execution will terminate early.
56
50
  # @option arguments [List] :stats Specific 'tag' of the request for logging and statistical purposes
57
51
  # @option arguments [String] :suggest_field Specify which field to use for suggestions
58
- # @option arguments [String] :suggest_mode Specify suggest mode
59
- # (options: missing,popular,always)
60
-
52
+ # @option arguments [String] :suggest_mode Specify suggest mode (options: missing, popular, always)
61
53
  # @option arguments [Number] :suggest_size How many suggestions to return in response
62
54
  # @option arguments [String] :suggest_text The source text for which the suggestions should be returned
63
55
  # @option arguments [Time] :timeout Explicit operation timeout
@@ -80,7 +72,7 @@ module Elasticsearch
80
72
  # Deprecated since version 7.0.0
81
73
  #
82
74
  #
83
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.8/search-search.html
75
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.10/search-search.html
84
76
  #
85
77
  def search(arguments = {})
86
78
  headers = arguments.delete(:headers) || {}
@@ -92,14 +84,19 @@ module Elasticsearch
92
84
 
93
85
  _type = arguments.delete(:type)
94
86
 
95
- method = Elasticsearch::API::HTTP_GET
96
- path = if _index && _type
97
- "#{Utils.__listify(_index)}/#{Utils.__listify(_type)}/_search"
98
- elsif _index
99
- "#{Utils.__listify(_index)}/_search"
87
+ method = if arguments[:body]
88
+ Elasticsearch::API::HTTP_POST
100
89
  else
101
- "_search"
102
- end
90
+ Elasticsearch::API::HTTP_GET
91
+ end
92
+
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
103
100
  params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
104
101
 
105
102
  body = arguments[:body]
@@ -154,5 +151,5 @@ module Elasticsearch
154
151
  :rest_total_hits_as_int
155
152
  ].freeze)
156
153
  end
157
- end
154
+ end
158
155
  end
@@ -26,12 +26,10 @@ 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 [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when unavailable (missing or closed)
28
28
  # @option arguments [Boolean] :allow_no_indices Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified)
29
- # @option arguments [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that are open, closed or both.
30
- # (options: open,closed,hidden,none,all)
31
-
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)
32
30
  # @option arguments [Hash] :headers Custom HTTP headers
33
31
  #
34
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.8/search-shards.html
32
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.10/search-shards.html
35
33
  #
36
34
  def search_shards(arguments = {})
37
35
  headers = arguments.delete(:headers) || {}
@@ -45,7 +43,7 @@ module Elasticsearch
45
43
  "#{Utils.__listify(_index)}/_search_shards"
46
44
  else
47
45
  "_search_shards"
48
- end
46
+ end
49
47
  params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
50
48
 
51
49
  body = nil
@@ -64,5 +62,5 @@ module Elasticsearch
64
62
  :expand_wildcards
65
63
  ].freeze)
66
64
  end
67
- end
65
+ end
68
66
  end
@@ -25,15 +25,11 @@ module Elasticsearch
25
25
  # @option arguments [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when unavailable (missing or closed)
26
26
  # @option arguments [Boolean] :ignore_throttled Whether specified concrete, expanded or aliased indices should be ignored when throttled
27
27
  # @option arguments [Boolean] :allow_no_indices Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified)
28
- # @option arguments [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that are open, closed or both.
29
- # (options: open,closed,hidden,none,all)
30
-
28
+ # @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)
31
29
  # @option arguments [String] :preference Specify the node or shard the operation should be performed on (default: random)
32
30
  # @option arguments [List] :routing A comma-separated list of specific routing values
33
31
  # @option arguments [Time] :scroll Specify how long a consistent view of the index should be maintained for scrolled search
34
- # @option arguments [String] :search_type Search operation type
35
- # (options: query_then_fetch,query_and_fetch,dfs_query_then_fetch,dfs_query_and_fetch)
36
-
32
+ # @option arguments [String] :search_type Search operation type (options: query_then_fetch, query_and_fetch, dfs_query_then_fetch, dfs_query_and_fetch)
37
33
  # @option arguments [Boolean] :explain Specify whether to return detailed information about score computation as part of a hit
38
34
  # @option arguments [Boolean] :profile Specify whether to profile the query execution
39
35
  # @option arguments [Boolean] :typed_keys Specify whether aggregation and suggester names should be prefixed by their respective types in the response
@@ -47,7 +43,7 @@ module Elasticsearch
47
43
  # Deprecated since version 7.0.0
48
44
  #
49
45
  #
50
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.8/search-template.html
46
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.10/search-template.html
51
47
  #
52
48
  def search_template(arguments = {})
53
49
  raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
@@ -60,14 +56,14 @@ module Elasticsearch
60
56
 
61
57
  _type = arguments.delete(:type)
62
58
 
63
- method = Elasticsearch::API::HTTP_GET
59
+ method = Elasticsearch::API::HTTP_POST
64
60
  path = if _index && _type
65
61
  "#{Utils.__listify(_index)}/#{Utils.__listify(_type)}/_search/template"
66
62
  elsif _index
67
63
  "#{Utils.__listify(_index)}/_search/template"
68
64
  else
69
65
  "_search/template"
70
- end
66
+ end
71
67
  params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
72
68
 
73
69
  body = arguments[:body]
@@ -93,5 +89,5 @@ module Elasticsearch
93
89
  :ccs_minimize_roundtrips
94
90
  ].freeze)
95
91
  end
96
- end
92
+ end
97
93
  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.8/clean-up-snapshot-repo-api.html
29
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.10/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]
@@ -52,7 +52,7 @@ module Elasticsearch
52
52
  :master_timeout,
53
53
  :timeout
54
54
  ].freeze)
55
- end
56
55
  end
56
+ end
57
57
  end
58
58
  end
@@ -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.10/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
@@ -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.8/modules-snapshots.html
31
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.10/modules-snapshots.html
32
32
  #
33
33
  def create(arguments = {})
34
34
  raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository]
@@ -57,7 +57,7 @@ module Elasticsearch
57
57
  :master_timeout,
58
58
  :wait_for_completion
59
59
  ].freeze)
60
- end
61
60
  end
61
+ end
62
62
  end
63
63
  end
@@ -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.8/modules-snapshots.html
31
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.10/modules-snapshots.html
32
32
  #
33
33
  def create_repository(arguments = {})
34
34
  raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
@@ -56,7 +56,7 @@ module Elasticsearch
56
56
  :timeout,
57
57
  :verify
58
58
  ].freeze)
59
- end
60
59
  end
60
+ end
61
61
  end
62
62
  end
@@ -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.8/modules-snapshots.html
29
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.10/modules-snapshots.html
30
30
  #
31
31
  def delete(arguments = {})
32
32
  raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository]
@@ -58,7 +58,7 @@ module Elasticsearch
58
58
  ParamsRegistry.register(:delete, [
59
59
  :master_timeout
60
60
  ].freeze)
61
- end
62
61
  end
62
+ end
63
63
  end
64
64
  end