elasticsearch-api 7.8.0 → 7.9.0.pre

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. checksums.yaml +4 -4
  2. data/lib/elasticsearch/api.rb +2 -1
  3. data/lib/elasticsearch/api/actions/bulk.rb +6 -5
  4. data/lib/elasticsearch/api/actions/cat/aliases.rb +3 -3
  5. data/lib/elasticsearch/api/actions/cat/allocation.rb +3 -3
  6. data/lib/elasticsearch/api/actions/cat/count.rb +3 -3
  7. data/lib/elasticsearch/api/actions/cat/fielddata.rb +3 -3
  8. data/lib/elasticsearch/api/actions/cat/health.rb +2 -2
  9. data/lib/elasticsearch/api/actions/cat/help.rb +2 -2
  10. data/lib/elasticsearch/api/actions/cat/indices.rb +3 -3
  11. data/lib/elasticsearch/api/actions/cat/master.rb +2 -2
  12. data/lib/elasticsearch/api/actions/cat/nodeattrs.rb +2 -2
  13. data/lib/elasticsearch/api/actions/cat/nodes.rb +2 -2
  14. data/lib/elasticsearch/api/actions/cat/pending_tasks.rb +2 -2
  15. data/lib/elasticsearch/api/actions/cat/plugins.rb +2 -2
  16. data/lib/elasticsearch/api/actions/cat/recovery.rb +3 -3
  17. data/lib/elasticsearch/api/actions/cat/repositories.rb +2 -2
  18. data/lib/elasticsearch/api/actions/cat/segments.rb +3 -3
  19. data/lib/elasticsearch/api/actions/cat/shards.rb +3 -3
  20. data/lib/elasticsearch/api/actions/cat/snapshots.rb +3 -3
  21. data/lib/elasticsearch/api/actions/cat/tasks.rb +2 -2
  22. data/lib/elasticsearch/api/actions/cat/templates.rb +3 -3
  23. data/lib/elasticsearch/api/actions/cat/thread_pool.rb +3 -3
  24. data/lib/elasticsearch/api/actions/clear_scroll.rb +3 -3
  25. data/lib/elasticsearch/api/actions/cluster/allocation_explain.rb +9 -4
  26. data/lib/elasticsearch/api/actions/cluster/delete_component_template.rb +2 -2
  27. data/lib/elasticsearch/api/actions/cluster/delete_voting_config_exclusions.rb +2 -2
  28. data/lib/elasticsearch/api/actions/cluster/exists_component_template.rb +2 -2
  29. data/lib/elasticsearch/api/actions/cluster/get_component_template.rb +3 -3
  30. data/lib/elasticsearch/api/actions/cluster/get_settings.rb +2 -2
  31. data/lib/elasticsearch/api/actions/cluster/health.rb +3 -3
  32. data/lib/elasticsearch/api/actions/cluster/pending_tasks.rb +2 -2
  33. data/lib/elasticsearch/api/actions/cluster/post_voting_config_exclusions.rb +2 -2
  34. data/lib/elasticsearch/api/actions/cluster/put_component_template.rb +2 -2
  35. data/lib/elasticsearch/api/actions/cluster/put_settings.rb +2 -2
  36. data/lib/elasticsearch/api/actions/cluster/remote_info.rb +2 -2
  37. data/lib/elasticsearch/api/actions/cluster/reroute.rb +2 -2
  38. data/lib/elasticsearch/api/actions/cluster/state.rb +3 -3
  39. data/lib/elasticsearch/api/actions/cluster/stats.rb +3 -3
  40. data/lib/elasticsearch/api/actions/count.rb +9 -14
  41. data/lib/elasticsearch/api/actions/create.rb +2 -2
  42. data/lib/elasticsearch/api/actions/dangling_indices/delete_dangling_index.rb +60 -0
  43. data/lib/elasticsearch/api/actions/dangling_indices/import_dangling_index.rb +60 -0
  44. data/lib/elasticsearch/api/actions/dangling_indices/list_dangling_indices.rb +43 -0
  45. data/lib/elasticsearch/api/actions/dangling_indices/params_registry.rb +60 -0
  46. data/lib/elasticsearch/api/actions/delete.rb +3 -3
  47. data/lib/elasticsearch/api/actions/delete_by_query.rb +3 -3
  48. data/lib/elasticsearch/api/actions/delete_by_query_rethrottle.rb +2 -2
  49. data/lib/elasticsearch/api/actions/delete_script.rb +2 -2
  50. data/lib/elasticsearch/api/actions/exists.rb +3 -3
  51. data/lib/elasticsearch/api/actions/exists_source.rb +3 -3
  52. data/lib/elasticsearch/api/actions/explain.rb +12 -7
  53. data/lib/elasticsearch/api/actions/field_caps.rb +14 -8
  54. data/lib/elasticsearch/api/actions/get.rb +3 -3
  55. data/lib/elasticsearch/api/actions/get_script.rb +2 -2
  56. data/lib/elasticsearch/api/actions/get_script_context.rb +2 -2
  57. data/lib/elasticsearch/api/actions/get_script_languages.rb +2 -2
  58. data/lib/elasticsearch/api/actions/get_source.rb +3 -3
  59. data/lib/elasticsearch/api/actions/index.rb +3 -3
  60. data/lib/elasticsearch/api/actions/indices/add_block.rb +70 -0
  61. data/lib/elasticsearch/api/actions/indices/analyze.rb +12 -7
  62. data/lib/elasticsearch/api/actions/indices/clear_cache.rb +3 -3
  63. data/lib/elasticsearch/api/actions/indices/clone.rb +2 -2
  64. data/lib/elasticsearch/api/actions/indices/close.rb +2 -2
  65. data/lib/elasticsearch/api/actions/indices/create.rb +2 -2
  66. data/lib/elasticsearch/api/actions/indices/create_data_stream.rb +3 -4
  67. data/lib/elasticsearch/api/actions/indices/data_streams_stats.rb +62 -0
  68. data/lib/elasticsearch/api/actions/indices/delete.rb +2 -2
  69. data/lib/elasticsearch/api/actions/indices/delete_alias.rb +3 -3
  70. data/lib/elasticsearch/api/actions/indices/delete_data_stream.rb +3 -3
  71. data/lib/elasticsearch/api/actions/indices/delete_index_template.rb +2 -2
  72. data/lib/elasticsearch/api/actions/indices/delete_template.rb +2 -2
  73. data/lib/elasticsearch/api/actions/indices/exists.rb +2 -2
  74. data/lib/elasticsearch/api/actions/indices/exists_alias.rb +3 -3
  75. data/lib/elasticsearch/api/actions/indices/exists_index_template.rb +2 -2
  76. data/lib/elasticsearch/api/actions/indices/exists_template.rb +2 -2
  77. data/lib/elasticsearch/api/actions/indices/exists_type.rb +2 -2
  78. data/lib/elasticsearch/api/actions/indices/flush.rb +3 -3
  79. data/lib/elasticsearch/api/actions/indices/flush_synced.rb +3 -3
  80. data/lib/elasticsearch/api/actions/indices/forcemerge.rb +3 -3
  81. data/lib/elasticsearch/api/actions/indices/get.rb +2 -2
  82. data/lib/elasticsearch/api/actions/indices/get_alias.rb +3 -3
  83. data/lib/elasticsearch/api/actions/indices/{get_data_streams.rb → get_data_stream.rb} +7 -7
  84. data/lib/elasticsearch/api/actions/indices/get_field_mapping.rb +3 -3
  85. data/lib/elasticsearch/api/actions/indices/get_index_template.rb +3 -3
  86. data/lib/elasticsearch/api/actions/indices/get_mapping.rb +4 -4
  87. data/lib/elasticsearch/api/actions/indices/get_settings.rb +3 -3
  88. data/lib/elasticsearch/api/actions/indices/get_template.rb +3 -3
  89. data/lib/elasticsearch/api/actions/indices/get_upgrade.rb +3 -3
  90. data/lib/elasticsearch/api/actions/indices/open.rb +2 -2
  91. data/lib/elasticsearch/api/actions/indices/put_alias.rb +3 -3
  92. data/lib/elasticsearch/api/actions/indices/put_index_template.rb +2 -2
  93. data/lib/elasticsearch/api/actions/indices/put_mapping.rb +6 -4
  94. data/lib/elasticsearch/api/actions/indices/put_settings.rb +3 -3
  95. data/lib/elasticsearch/api/actions/indices/put_template.rb +2 -2
  96. data/lib/elasticsearch/api/actions/indices/recovery.rb +3 -3
  97. data/lib/elasticsearch/api/actions/indices/refresh.rb +3 -3
  98. data/lib/elasticsearch/api/actions/indices/resolve_index.rb +58 -0
  99. data/lib/elasticsearch/api/actions/indices/rollover.rb +3 -3
  100. data/lib/elasticsearch/api/actions/indices/segments.rb +3 -3
  101. data/lib/elasticsearch/api/actions/indices/shard_stores.rb +3 -3
  102. data/lib/elasticsearch/api/actions/indices/shrink.rb +2 -2
  103. data/lib/elasticsearch/api/actions/indices/simulate_index_template.rb +2 -2
  104. data/lib/elasticsearch/api/actions/indices/simulate_template.rb +63 -0
  105. data/lib/elasticsearch/api/actions/indices/split.rb +2 -2
  106. data/lib/elasticsearch/api/actions/indices/stats.rb +2 -2
  107. data/lib/elasticsearch/api/actions/indices/update_aliases.rb +2 -2
  108. data/lib/elasticsearch/api/actions/indices/upgrade.rb +3 -3
  109. data/lib/elasticsearch/api/actions/indices/validate_query.rb +14 -9
  110. data/lib/elasticsearch/api/actions/info.rb +2 -2
  111. data/lib/elasticsearch/api/actions/ingest/delete_pipeline.rb +2 -2
  112. data/lib/elasticsearch/api/actions/ingest/get_pipeline.rb +3 -3
  113. data/lib/elasticsearch/api/actions/ingest/processor_grok.rb +2 -2
  114. data/lib/elasticsearch/api/actions/ingest/put_pipeline.rb +2 -2
  115. data/lib/elasticsearch/api/actions/ingest/simulate.rb +4 -4
  116. data/lib/elasticsearch/api/actions/mget.rb +4 -4
  117. data/lib/elasticsearch/api/actions/msearch.rb +5 -5
  118. data/lib/elasticsearch/api/actions/msearch_template.rb +5 -5
  119. data/lib/elasticsearch/api/actions/mtermvectors.rb +15 -10
  120. data/lib/elasticsearch/api/actions/nodes/hot_threads.rb +3 -3
  121. data/lib/elasticsearch/api/actions/nodes/info.rb +3 -3
  122. data/lib/elasticsearch/api/actions/nodes/reload_secure_settings.rb +3 -3
  123. data/lib/elasticsearch/api/actions/nodes/stats.rb +4 -4
  124. data/lib/elasticsearch/api/actions/nodes/usage.rb +3 -3
  125. data/lib/elasticsearch/api/actions/ping.rb +2 -2
  126. data/lib/elasticsearch/api/actions/put_script.rb +3 -3
  127. data/lib/elasticsearch/api/actions/rank_eval.rb +4 -4
  128. data/lib/elasticsearch/api/actions/reindex.rb +2 -2
  129. data/lib/elasticsearch/api/actions/reindex_rethrottle.rb +2 -2
  130. data/lib/elasticsearch/api/actions/render_search_template.rb +12 -7
  131. data/lib/elasticsearch/api/actions/scripts_painless_execute.rb +9 -4
  132. data/lib/elasticsearch/api/actions/scroll.rb +12 -7
  133. data/lib/elasticsearch/api/actions/search.rb +14 -9
  134. data/lib/elasticsearch/api/actions/search_shards.rb +3 -3
  135. data/lib/elasticsearch/api/actions/search_template.rb +4 -4
  136. data/lib/elasticsearch/api/actions/snapshot/cleanup_repository.rb +2 -2
  137. data/lib/elasticsearch/api/actions/snapshot/create.rb +2 -2
  138. data/lib/elasticsearch/api/actions/snapshot/create_repository.rb +2 -2
  139. data/lib/elasticsearch/api/actions/snapshot/delete.rb +2 -2
  140. data/lib/elasticsearch/api/actions/snapshot/delete_repository.rb +2 -2
  141. data/lib/elasticsearch/api/actions/snapshot/get.rb +2 -2
  142. data/lib/elasticsearch/api/actions/snapshot/get_repository.rb +3 -3
  143. data/lib/elasticsearch/api/actions/snapshot/restore.rb +2 -2
  144. data/lib/elasticsearch/api/actions/snapshot/status.rb +3 -3
  145. data/lib/elasticsearch/api/actions/snapshot/verify_repository.rb +2 -2
  146. data/lib/elasticsearch/api/actions/tasks/cancel.rb +3 -3
  147. data/lib/elasticsearch/api/actions/tasks/get.rb +2 -2
  148. data/lib/elasticsearch/api/actions/tasks/list.rb +2 -2
  149. data/lib/elasticsearch/api/actions/termvectors.rb +8 -4
  150. data/lib/elasticsearch/api/actions/update.rb +3 -3
  151. data/lib/elasticsearch/api/actions/update_by_query.rb +3 -3
  152. data/lib/elasticsearch/api/actions/update_by_query_rethrottle.rb +2 -2
  153. data/lib/elasticsearch/api/namespace/cat.rb +0 -1
  154. data/lib/elasticsearch/api/namespace/dangling_indices.rb +35 -0
  155. data/lib/elasticsearch/api/version.rb +1 -1
  156. data/spec/elasticsearch/api/actions/count_spec.rb +2 -2
  157. data/spec/elasticsearch/api/actions/dangling_indices/delete_dangling_indices_spec.rb +48 -0
  158. data/spec/elasticsearch/api/actions/dangling_indices/import_dangling_indices_spec.rb +48 -0
  159. data/spec/elasticsearch/api/actions/dangling_indices/list_dangling_indices_spec.rb +36 -0
  160. data/spec/elasticsearch/api/actions/explain_document_spec.rb +8 -9
  161. data/spec/elasticsearch/api/actions/indices/add_block_spec.rb +63 -0
  162. data/spec/elasticsearch/api/actions/indices/analyze_spec.rb +7 -8
  163. data/spec/elasticsearch/api/actions/indices/data_streams_stats_spec.rb +72 -0
  164. data/spec/elasticsearch/api/actions/indices/validate_query_spec.rb +7 -13
  165. data/spec/elasticsearch/api/actions/ingest/simulate_spec.rb +6 -7
  166. data/spec/elasticsearch/api/actions/json_builders_spec.rb +10 -13
  167. data/spec/elasticsearch/api/actions/mget_spec.rb +5 -6
  168. data/spec/elasticsearch/api/actions/msearch_spec.rb +5 -6
  169. data/spec/elasticsearch/api/actions/msearch_template_spec.rb +5 -6
  170. data/spec/elasticsearch/api/actions/mtermvectors_spec.rb +7 -7
  171. data/spec/elasticsearch/api/actions/render_search_template_spec.rb +2 -2
  172. data/spec/elasticsearch/api/actions/scroll_spec.rb +1 -1
  173. data/spec/elasticsearch/api/actions/search_spec.rb +7 -7
  174. data/spec/elasticsearch/api/actions/search_template_spec.rb +5 -6
  175. data/spec/elasticsearch/api/actions/termvectors_spec.rb +5 -7
  176. data/spec/elasticsearch/api/rest_api_yaml_spec.rb +0 -1
  177. data/utils/thor/.rubocop.yml +2 -0
  178. data/utils/thor/generate_source.rb +22 -15
  179. data/utils/thor/generator/endpoint_specifics.rb +8 -1
  180. data/utils/thor/templates/_documentation_top.erb +11 -1
  181. metadata +26 -12
  182. data/spec/README.md +0 -61
  183. data/test/integration/yaml_test_runner.rb +0 -592
  184. data/test/test_helper.rb +0 -118
@@ -44,7 +44,7 @@ module Elasticsearch
44
44
  # Deprecated since version 7.0.0
45
45
  #
46
46
  #
47
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.8/docs-index_.html
47
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/docs-index_.html
48
48
  #
49
49
  def create(arguments = {})
50
50
  if arguments[:id]
@@ -54,5 +54,5 @@ module Elasticsearch
54
54
  end
55
55
  end
56
56
  end
57
- end
57
+ end
58
58
  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 DanglingIndices
21
+ module Actions
22
+ # Deletes the specified dangling index
23
+ #
24
+ # @option arguments [String] :index_uuid The UUID of the dangling index
25
+ # @option arguments [Boolean] :accept_data_loss Must be set to true in order to delete the dangling index
26
+ # @option arguments [Time] :timeout Explicit operation timeout
27
+ # @option arguments [Time] :master_timeout Specify timeout for connection to master
28
+ # @option arguments [Hash] :headers Custom HTTP headers
29
+ #
30
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/modules-gateway-dangling-indices.html
31
+ #
32
+ def delete_dangling_index(arguments = {})
33
+ raise ArgumentError, "Required argument 'index_uuid' missing" unless arguments[:index_uuid]
34
+
35
+ headers = arguments.delete(:headers) || {}
36
+
37
+ arguments = arguments.clone
38
+
39
+ _index_uuid = arguments.delete(:index_uuid)
40
+
41
+ method = Elasticsearch::API::HTTP_DELETE
42
+ path = "_dangling/#{Utils.__listify(_index_uuid)}"
43
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
44
+
45
+ body = nil
46
+ perform_request(method, path, params, body, headers).body
47
+ end
48
+
49
+ # Register this action with its valid params when the module is loaded.
50
+ #
51
+ # @since 6.2.0
52
+ ParamsRegistry.register(:delete_dangling_index, [
53
+ :accept_data_loss,
54
+ :timeout,
55
+ :master_timeout
56
+ ].freeze)
57
+ end
58
+ end
59
+ end
60
+ 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 DanglingIndices
21
+ module Actions
22
+ # Imports the specified dangling index
23
+ #
24
+ # @option arguments [String] :index_uuid The UUID of the dangling index
25
+ # @option arguments [Boolean] :accept_data_loss Must be set to true in order to import the dangling index
26
+ # @option arguments [Time] :timeout Explicit operation timeout
27
+ # @option arguments [Time] :master_timeout Specify timeout for connection to master
28
+ # @option arguments [Hash] :headers Custom HTTP headers
29
+ #
30
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/modules-gateway-dangling-indices.html
31
+ #
32
+ def import_dangling_index(arguments = {})
33
+ raise ArgumentError, "Required argument 'index_uuid' missing" unless arguments[:index_uuid]
34
+
35
+ headers = arguments.delete(:headers) || {}
36
+
37
+ arguments = arguments.clone
38
+
39
+ _index_uuid = arguments.delete(:index_uuid)
40
+
41
+ method = Elasticsearch::API::HTTP_POST
42
+ path = "_dangling/#{Utils.__listify(_index_uuid)}"
43
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
44
+
45
+ body = nil
46
+ perform_request(method, path, params, body, headers).body
47
+ end
48
+
49
+ # Register this action with its valid params when the module is loaded.
50
+ #
51
+ # @since 6.2.0
52
+ ParamsRegistry.register(:import_dangling_index, [
53
+ :accept_data_loss,
54
+ :timeout,
55
+ :master_timeout
56
+ ].freeze)
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,43 @@
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 DanglingIndices
21
+ module Actions
22
+ # Returns all dangling indices.
23
+ #
24
+ # @option arguments [Hash] :headers Custom HTTP headers
25
+ #
26
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/modules-gateway-dangling-indices.html
27
+ #
28
+ def list_dangling_indices(arguments = {})
29
+ headers = arguments.delete(:headers) || {}
30
+
31
+ arguments = arguments.clone
32
+
33
+ method = Elasticsearch::API::HTTP_GET
34
+ path = "_dangling"
35
+ params = {}
36
+
37
+ body = nil
38
+ perform_request(method, path, params, body, headers).body
39
+ end
40
+ end
41
+ end
42
+ end
43
+ 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 DanglingIndices
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
@@ -42,7 +42,7 @@ module Elasticsearch
42
42
  # Deprecated since version 7.0.0
43
43
  #
44
44
  #
45
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.8/docs-delete.html
45
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/docs-delete.html
46
46
  #
47
47
  def delete(arguments = {})
48
48
  raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
@@ -63,7 +63,7 @@ module Elasticsearch
63
63
  "#{Utils.__listify(_index)}/#{Utils.__listify(_type)}/#{Utils.__listify(_id)}"
64
64
  else
65
65
  "#{Utils.__listify(_index)}/_doc/#{Utils.__listify(_id)}"
66
- end
66
+ end
67
67
  params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
68
68
 
69
69
  body = nil
@@ -88,5 +88,5 @@ module Elasticsearch
88
88
  :version_type
89
89
  ].freeze)
90
90
  end
91
- end
91
+ end
92
92
  end
@@ -71,7 +71,7 @@ module Elasticsearch
71
71
  # Deprecated since version 7.0.0
72
72
  #
73
73
  #
74
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.8/docs-delete-by-query.html
74
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/docs-delete-by-query.html
75
75
  #
76
76
  def delete_by_query(arguments = {})
77
77
  raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
@@ -90,7 +90,7 @@ module Elasticsearch
90
90
  "#{Utils.__listify(_index)}/#{Utils.__listify(_type)}/_delete_by_query"
91
91
  else
92
92
  "#{Utils.__listify(_index)}/_delete_by_query"
93
- end
93
+ end
94
94
  params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
95
95
 
96
96
  body = arguments[:body]
@@ -136,5 +136,5 @@ module Elasticsearch
136
136
  :slices
137
137
  ].freeze)
138
138
  end
139
- end
139
+ end
140
140
  end
@@ -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.8/docs-delete-by-query.html
27
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/docs-delete-by-query.html
28
28
  #
29
29
  def delete_by_query_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
@@ -25,7 +25,7 @@ module Elasticsearch
25
25
  # @option arguments [Time] :master_timeout Specify timeout for connection to master
26
26
  # @option arguments [Hash] :headers Custom HTTP headers
27
27
  #
28
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.8/modules-scripting.html
28
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/modules-scripting.html
29
29
  #
30
30
  def delete_script(arguments = {})
31
31
  raise ArgumentError, "Required argument 'id' missing" unless arguments[:id]
@@ -52,5 +52,5 @@ module Elasticsearch
52
52
  :master_timeout
53
53
  ].freeze)
54
54
  end
55
- end
55
+ end
56
56
  end
@@ -42,7 +42,7 @@ module Elasticsearch
42
42
  # Deprecated since version 7.0.0
43
43
  #
44
44
  #
45
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.8/docs-get.html
45
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/docs-get.html
46
46
  #
47
47
  def exists(arguments = {})
48
48
  raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
@@ -63,7 +63,7 @@ module Elasticsearch
63
63
  "#{Utils.__listify(_index)}/#{Utils.__listify(_type)}/#{Utils.__listify(_id)}"
64
64
  else
65
65
  "#{Utils.__listify(_index)}/_doc/#{Utils.__listify(_id)}"
66
- end
66
+ end
67
67
  params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
68
68
 
69
69
  body = nil
@@ -90,5 +90,5 @@ module Elasticsearch
90
90
  :version_type
91
91
  ].freeze)
92
92
  end
93
- end
93
+ end
94
94
  end
@@ -41,7 +41,7 @@ module Elasticsearch
41
41
  # Deprecated since version 7.0.0
42
42
  #
43
43
  #
44
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.8/docs-get.html
44
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/docs-get.html
45
45
  #
46
46
  def exists_source(arguments = {})
47
47
  raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
@@ -62,7 +62,7 @@ module Elasticsearch
62
62
  "#{Utils.__listify(_index)}/#{Utils.__listify(_type)}/#{Utils.__listify(_id)}/_source"
63
63
  else
64
64
  "#{Utils.__listify(_index)}/_source/#{Utils.__listify(_id)}"
65
- end
65
+ end
66
66
  params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
67
67
 
68
68
  body = nil
@@ -85,5 +85,5 @@ module Elasticsearch
85
85
  :version_type
86
86
  ].freeze)
87
87
  end
88
- end
88
+ end
89
89
  end
@@ -45,7 +45,7 @@ module Elasticsearch
45
45
  # Deprecated since version 7.0.0
46
46
  #
47
47
  #
48
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.8/search-explain.html
48
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/search-explain.html
49
49
  #
50
50
  def explain(arguments = {})
51
51
  raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
@@ -61,12 +61,17 @@ module Elasticsearch
61
61
 
62
62
  _type = arguments.delete(:type)
63
63
 
64
- method = Elasticsearch::API::HTTP_GET
65
- path = if _index && _type && _id
66
- "#{Utils.__listify(_index)}/#{Utils.__listify(_type)}/#{Utils.__listify(_id)}/_explain"
64
+ method = if arguments[:body]
65
+ Elasticsearch::API::HTTP_POST
67
66
  else
68
- "#{Utils.__listify(_index)}/_explain/#{Utils.__listify(_id)}"
69
- end
67
+ Elasticsearch::API::HTTP_GET
68
+ end
69
+
70
+ path = if _index && _type && _id
71
+ "#{Utils.__listify(_index)}/#{Utils.__listify(_type)}/#{Utils.__listify(_id)}/_explain"
72
+ else
73
+ "#{Utils.__listify(_index)}/_explain/#{Utils.__listify(_id)}"
74
+ end
70
75
  params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
71
76
 
72
77
  body = arguments[:body]
@@ -91,5 +96,5 @@ module Elasticsearch
91
96
  :_source_includes
92
97
  ].freeze)
93
98
  end
94
- end
99
+ end
95
100
  end
@@ -29,8 +29,9 @@ module Elasticsearch
29
29
 
30
30
  # @option arguments [Boolean] :include_unmapped Indicates whether unmapped fields should be included in the response.
31
31
  # @option arguments [Hash] :headers Custom HTTP headers
32
+ # @option arguments [Hash] :body An index filter specified with the Query DSL
32
33
  #
33
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.8/search-field-caps.html
34
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/search-field-caps.html
34
35
  #
35
36
  def field_caps(arguments = {})
36
37
  headers = arguments.delete(:headers) || {}
@@ -39,15 +40,20 @@ module Elasticsearch
39
40
 
40
41
  _index = arguments.delete(:index)
41
42
 
42
- method = Elasticsearch::API::HTTP_GET
43
- path = if _index
44
- "#{Utils.__listify(_index)}/_field_caps"
43
+ method = if arguments[:body]
44
+ Elasticsearch::API::HTTP_POST
45
45
  else
46
- "_field_caps"
47
- end
46
+ Elasticsearch::API::HTTP_GET
47
+ end
48
+
49
+ path = if _index
50
+ "#{Utils.__listify(_index)}/_field_caps"
51
+ else
52
+ "_field_caps"
53
+ end
48
54
  params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
49
55
 
50
- body = nil
56
+ body = arguments[:body]
51
57
  perform_request(method, path, params, body, headers).body
52
58
  end
53
59
 
@@ -62,5 +68,5 @@ module Elasticsearch
62
68
  :include_unmapped
63
69
  ].freeze)
64
70
  end
65
- end
71
+ end
66
72
  end