elasticsearch-api 7.7.0 → 7.9.0

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 (327) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +17 -3
  3. data/Rakefile +16 -3
  4. data/elasticsearch-api.gemspec +16 -3
  5. data/lib/elasticsearch-api.rb +16 -3
  6. data/lib/elasticsearch/api.rb +18 -4
  7. data/lib/elasticsearch/api/actions/abort_benchmark.rb +41 -0
  8. data/lib/elasticsearch/api/actions/benchmark.rb +81 -0
  9. data/lib/elasticsearch/api/actions/bulk.rb +23 -11
  10. data/lib/elasticsearch/api/actions/cat/aliases.rb +20 -9
  11. data/lib/elasticsearch/api/actions/cat/allocation.rb +20 -9
  12. data/lib/elasticsearch/api/actions/cat/count.rb +19 -6
  13. data/lib/elasticsearch/api/actions/cat/fielddata.rb +20 -9
  14. data/lib/elasticsearch/api/actions/cat/health.rb +19 -8
  15. data/lib/elasticsearch/api/actions/cat/help.rb +18 -5
  16. data/lib/elasticsearch/api/actions/cat/indices.rb +23 -18
  17. data/lib/elasticsearch/api/actions/cat/master.rb +18 -5
  18. data/lib/elasticsearch/api/actions/cat/nodeattrs.rb +18 -5
  19. data/lib/elasticsearch/api/actions/cat/nodes.rb +21 -12
  20. data/lib/elasticsearch/api/actions/cat/params_registry.rb +16 -3
  21. data/lib/elasticsearch/api/actions/cat/pending_tasks.rb +19 -8
  22. data/lib/elasticsearch/api/actions/cat/plugins.rb +18 -5
  23. data/lib/elasticsearch/api/actions/cat/recovery.rb +21 -12
  24. data/lib/elasticsearch/api/actions/cat/repositories.rb +18 -5
  25. data/lib/elasticsearch/api/actions/cat/segments.rb +20 -9
  26. data/lib/elasticsearch/api/actions/cat/shards.rb +21 -12
  27. data/lib/elasticsearch/api/actions/cat/snapshots.rb +20 -9
  28. data/lib/elasticsearch/api/actions/cat/tasks.rb +19 -8
  29. data/lib/elasticsearch/api/actions/cat/templates.rb +19 -6
  30. data/lib/elasticsearch/api/actions/cat/thread_pool.rb +20 -9
  31. data/lib/elasticsearch/api/actions/clear_scroll.rb +20 -7
  32. data/lib/elasticsearch/api/actions/cluster/allocation_explain.rb +25 -7
  33. data/lib/elasticsearch/api/actions/cluster/delete_component_template.rb +22 -5
  34. data/lib/elasticsearch/api/actions/cluster/delete_voting_config_exclusions.rb +51 -0
  35. data/lib/elasticsearch/api/actions/cluster/exists_component_template.rb +63 -0
  36. data/lib/elasticsearch/api/actions/cluster/get_component_template.rb +23 -6
  37. data/lib/elasticsearch/api/actions/cluster/get_settings.rb +18 -5
  38. data/lib/elasticsearch/api/actions/cluster/health.rb +23 -18
  39. data/lib/elasticsearch/api/actions/cluster/params_registry.rb +16 -3
  40. data/lib/elasticsearch/api/actions/cluster/pending_tasks.rb +18 -5
  41. data/lib/elasticsearch/api/actions/cluster/post_voting_config_exclusions.rb +55 -0
  42. data/lib/elasticsearch/api/actions/cluster/put_component_template.rb +22 -5
  43. data/lib/elasticsearch/api/actions/cluster/put_settings.rb +18 -5
  44. data/lib/elasticsearch/api/actions/cluster/remote_info.rb +18 -5
  45. data/lib/elasticsearch/api/actions/cluster/reroute.rb +19 -8
  46. data/lib/elasticsearch/api/actions/cluster/state.rb +21 -12
  47. data/lib/elasticsearch/api/actions/cluster/stats.rb +19 -6
  48. data/lib/elasticsearch/api/actions/count.rb +27 -23
  49. data/lib/elasticsearch/api/actions/create.rb +21 -12
  50. data/lib/elasticsearch/api/actions/dangling_indices/delete_dangling_index.rb +60 -0
  51. data/lib/elasticsearch/api/actions/dangling_indices/import_dangling_index.rb +60 -0
  52. data/lib/elasticsearch/api/actions/dangling_indices/list_dangling_indices.rb +43 -0
  53. data/lib/elasticsearch/api/actions/dangling_indices/params_registry.rb +60 -0
  54. data/lib/elasticsearch/api/actions/delete.rb +22 -13
  55. data/lib/elasticsearch/api/actions/delete_by_query.rb +24 -19
  56. data/lib/elasticsearch/api/actions/delete_by_query_rethrottle.rb +19 -6
  57. data/lib/elasticsearch/api/actions/delete_by_rethrottle.rb +47 -0
  58. data/lib/elasticsearch/api/actions/delete_script.rb +18 -5
  59. data/lib/elasticsearch/api/actions/exists.rb +21 -10
  60. data/lib/elasticsearch/api/actions/exists_source.rb +21 -10
  61. data/lib/elasticsearch/api/actions/explain.rb +30 -14
  62. data/lib/elasticsearch/api/actions/field_caps.rb +31 -14
  63. data/lib/elasticsearch/api/actions/get.rb +21 -10
  64. data/lib/elasticsearch/api/actions/get_script.rb +18 -5
  65. data/lib/elasticsearch/api/actions/get_script_context.rb +22 -5
  66. data/lib/elasticsearch/api/actions/get_script_languages.rb +22 -5
  67. data/lib/elasticsearch/api/actions/get_source.rb +21 -10
  68. data/lib/elasticsearch/api/actions/index.rb +23 -16
  69. data/lib/elasticsearch/api/actions/indices/add_block.rb +68 -0
  70. data/lib/elasticsearch/api/actions/indices/analyze.rb +28 -10
  71. data/lib/elasticsearch/api/actions/indices/clear_cache.rb +20 -9
  72. data/lib/elasticsearch/api/actions/indices/clone.rb +18 -5
  73. data/lib/elasticsearch/api/actions/indices/close.rb +19 -8
  74. data/lib/elasticsearch/api/actions/indices/create.rb +18 -5
  75. data/lib/elasticsearch/api/actions/indices/delete.rb +19 -8
  76. data/lib/elasticsearch/api/actions/indices/delete_alias.rb +19 -6
  77. data/lib/elasticsearch/api/actions/indices/delete_index_template.rb +62 -0
  78. data/lib/elasticsearch/api/actions/indices/delete_template.rb +18 -5
  79. data/lib/elasticsearch/api/actions/indices/exists.rb +19 -8
  80. data/lib/elasticsearch/api/actions/indices/exists_alias.rb +20 -9
  81. data/lib/elasticsearch/api/actions/indices/exists_index_template.rb +65 -0
  82. data/lib/elasticsearch/api/actions/indices/exists_template.rb +18 -5
  83. data/lib/elasticsearch/api/actions/indices/exists_type.rb +19 -8
  84. data/lib/elasticsearch/api/actions/indices/flush.rb +20 -9
  85. data/lib/elasticsearch/api/actions/indices/flush_synced.rb +20 -9
  86. data/lib/elasticsearch/api/actions/indices/forcemerge.rb +20 -9
  87. data/lib/elasticsearch/api/actions/indices/freeze.rb +16 -3
  88. data/lib/elasticsearch/api/actions/indices/get.rb +19 -8
  89. data/lib/elasticsearch/api/actions/indices/get_alias.rb +20 -9
  90. data/lib/elasticsearch/api/actions/indices/get_field_mapping.rb +21 -10
  91. data/lib/elasticsearch/api/actions/indices/get_index_template.rb +66 -0
  92. data/lib/elasticsearch/api/actions/indices/get_mapping.rb +22 -11
  93. data/lib/elasticsearch/api/actions/indices/get_settings.rb +20 -9
  94. data/lib/elasticsearch/api/actions/indices/get_template.rb +19 -6
  95. data/lib/elasticsearch/api/actions/indices/get_upgrade.rb +20 -9
  96. data/lib/elasticsearch/api/actions/indices/open.rb +19 -8
  97. data/lib/elasticsearch/api/actions/indices/params_registry.rb +16 -3
  98. data/lib/elasticsearch/api/actions/indices/put_alias.rb +19 -6
  99. data/lib/elasticsearch/api/actions/indices/put_index_template.rb +66 -0
  100. data/lib/elasticsearch/api/actions/indices/put_mapping.rb +25 -12
  101. data/lib/elasticsearch/api/actions/indices/put_settings.rb +20 -9
  102. data/lib/elasticsearch/api/actions/indices/put_template.rb +18 -5
  103. data/lib/elasticsearch/api/actions/indices/recovery.rb +19 -6
  104. data/lib/elasticsearch/api/actions/indices/refresh.rb +20 -9
  105. data/lib/elasticsearch/api/actions/indices/resolve_index.rb +60 -0
  106. data/lib/elasticsearch/api/actions/indices/rollover.rb +19 -6
  107. data/lib/elasticsearch/api/actions/indices/segments.rb +20 -9
  108. data/lib/elasticsearch/api/actions/indices/shard_stores.rb +21 -12
  109. data/lib/elasticsearch/api/actions/indices/shrink.rb +18 -5
  110. data/lib/elasticsearch/api/actions/indices/simulate_index_template.rb +65 -0
  111. data/lib/elasticsearch/api/actions/indices/simulate_template.rb +67 -0
  112. data/lib/elasticsearch/api/actions/indices/split.rb +18 -5
  113. data/lib/elasticsearch/api/actions/indices/stats.rb +21 -14
  114. data/lib/elasticsearch/api/actions/indices/unfreeze.rb +16 -3
  115. data/lib/elasticsearch/api/actions/indices/update_aliases.rb +18 -5
  116. data/lib/elasticsearch/api/actions/indices/upgrade.rb +20 -9
  117. data/lib/elasticsearch/api/actions/indices/validate_query.rb +33 -19
  118. data/lib/elasticsearch/api/actions/info.rb +18 -5
  119. data/lib/elasticsearch/api/actions/ingest/delete_pipeline.rb +18 -5
  120. data/lib/elasticsearch/api/actions/ingest/get_pipeline.rb +19 -6
  121. data/lib/elasticsearch/api/actions/ingest/params_registry.rb +16 -3
  122. data/lib/elasticsearch/api/actions/ingest/processor_grok.rb +18 -5
  123. data/lib/elasticsearch/api/actions/ingest/put_pipeline.rb +18 -5
  124. data/lib/elasticsearch/api/actions/ingest/simulate.rb +20 -7
  125. data/lib/elasticsearch/api/actions/mget.rb +21 -8
  126. data/lib/elasticsearch/api/actions/msearch.rb +22 -11
  127. data/lib/elasticsearch/api/actions/msearch_template.rb +22 -11
  128. data/lib/elasticsearch/api/actions/mtermvectors.rb +32 -16
  129. data/lib/elasticsearch/api/actions/nodes/hot_threads.rb +20 -9
  130. data/lib/elasticsearch/api/actions/nodes/info.rb +20 -9
  131. data/lib/elasticsearch/api/actions/nodes/params_registry.rb +16 -3
  132. data/lib/elasticsearch/api/actions/nodes/reload_secure_settings.rb +19 -6
  133. data/lib/elasticsearch/api/actions/nodes/shutdown.rb +56 -0
  134. data/lib/elasticsearch/api/actions/nodes/stats.rb +22 -15
  135. data/lib/elasticsearch/api/actions/nodes/usage.rb +20 -9
  136. data/lib/elasticsearch/api/actions/params_registry.rb +16 -3
  137. data/lib/elasticsearch/api/actions/ping.rb +18 -5
  138. data/lib/elasticsearch/api/actions/put_script.rb +19 -6
  139. data/lib/elasticsearch/api/actions/rank_eval.rb +26 -13
  140. data/lib/elasticsearch/api/actions/reindex.rb +18 -5
  141. data/lib/elasticsearch/api/actions/reindex_rethrottle.rb +19 -6
  142. data/lib/elasticsearch/api/actions/remote/info.rb +37 -0
  143. data/lib/elasticsearch/api/actions/render_search_template.rb +28 -10
  144. data/lib/elasticsearch/api/actions/scripts_painless_execute.rb +29 -7
  145. data/lib/elasticsearch/api/actions/scroll.rb +29 -11
  146. data/lib/elasticsearch/api/actions/search.rb +34 -24
  147. data/lib/elasticsearch/api/actions/search_shards.rb +20 -9
  148. data/lib/elasticsearch/api/actions/search_template.rb +22 -13
  149. data/lib/elasticsearch/api/actions/snapshot/cleanup_repository.rb +18 -5
  150. data/lib/elasticsearch/api/actions/snapshot/create.rb +18 -5
  151. data/lib/elasticsearch/api/actions/snapshot/create_repository.rb +18 -5
  152. data/lib/elasticsearch/api/actions/snapshot/delete.rb +18 -5
  153. data/lib/elasticsearch/api/actions/snapshot/delete_repository.rb +19 -6
  154. data/lib/elasticsearch/api/actions/snapshot/get.rb +18 -5
  155. data/lib/elasticsearch/api/actions/snapshot/get_repository.rb +19 -6
  156. data/lib/elasticsearch/api/actions/snapshot/params_registry.rb +16 -3
  157. data/lib/elasticsearch/api/actions/snapshot/restore.rb +18 -5
  158. data/lib/elasticsearch/api/actions/snapshot/status.rb +19 -6
  159. data/lib/elasticsearch/api/actions/snapshot/verify_repository.rb +18 -5
  160. data/lib/elasticsearch/api/actions/tasks/cancel.rb +22 -7
  161. data/lib/elasticsearch/api/actions/tasks/get.rb +18 -5
  162. data/lib/elasticsearch/api/actions/tasks/list.rb +19 -8
  163. data/lib/elasticsearch/api/actions/tasks/params_registry.rb +16 -3
  164. data/lib/elasticsearch/api/actions/termvectors.rb +26 -11
  165. data/lib/elasticsearch/api/actions/update.rb +21 -10
  166. data/lib/elasticsearch/api/actions/update_by_query.rb +24 -19
  167. data/lib/elasticsearch/api/actions/update_by_query_rethrottle.rb +19 -6
  168. data/lib/elasticsearch/api/namespace/cat.rb +16 -4
  169. data/lib/elasticsearch/api/namespace/cluster.rb +16 -3
  170. data/lib/elasticsearch/api/namespace/common.rb +16 -3
  171. data/lib/elasticsearch/api/namespace/dangling_indices.rb +35 -0
  172. data/lib/elasticsearch/api/namespace/indices.rb +16 -3
  173. data/lib/elasticsearch/api/namespace/ingest.rb +16 -3
  174. data/lib/elasticsearch/api/namespace/nodes.rb +16 -3
  175. data/lib/elasticsearch/api/namespace/remote.rb +16 -3
  176. data/lib/elasticsearch/api/namespace/snapshot.rb +16 -3
  177. data/lib/elasticsearch/api/namespace/tasks.rb +16 -3
  178. data/lib/elasticsearch/api/utils.rb +16 -3
  179. data/lib/elasticsearch/api/version.rb +17 -4
  180. data/spec/elasticsearch/api/actions/abort_benchmark_spec.rb +34 -0
  181. data/spec/elasticsearch/api/actions/benchmark_spec.rb +34 -0
  182. data/spec/elasticsearch/api/actions/bulk_spec.rb +16 -3
  183. data/spec/elasticsearch/api/actions/cat/aliases_spec.rb +16 -3
  184. data/spec/elasticsearch/api/actions/cat/allocation_spec.rb +16 -3
  185. data/spec/elasticsearch/api/actions/cat/count_spec.rb +16 -3
  186. data/spec/elasticsearch/api/actions/cat/fielddata_spec.rb +16 -3
  187. data/spec/elasticsearch/api/actions/cat/health_spec.rb +16 -3
  188. data/spec/elasticsearch/api/actions/cat/help_spec.rb +16 -3
  189. data/spec/elasticsearch/api/actions/cat/indices_spec.rb +16 -3
  190. data/spec/elasticsearch/api/actions/cat/master_spec.rb +16 -3
  191. data/spec/elasticsearch/api/actions/cat/nodeattrs_spec.rb +16 -3
  192. data/spec/elasticsearch/api/actions/cat/nodes_spec.rb +16 -3
  193. data/spec/elasticsearch/api/actions/cat/pending_tasks_spec.rb +16 -3
  194. data/spec/elasticsearch/api/actions/cat/plugins_spec.rb +16 -3
  195. data/spec/elasticsearch/api/actions/cat/recovery_spec.rb +16 -3
  196. data/spec/elasticsearch/api/actions/cat/repositories_spec.rb +16 -3
  197. data/spec/elasticsearch/api/actions/cat/segments_spec.rb +16 -3
  198. data/spec/elasticsearch/api/actions/cat/shards_spec.rb +16 -3
  199. data/spec/elasticsearch/api/actions/cat/snapshot_spec.rb +16 -3
  200. data/spec/elasticsearch/api/actions/cat/tasks_spec.rb +16 -3
  201. data/spec/elasticsearch/api/actions/cat/templates_spec.rb +16 -3
  202. data/spec/elasticsearch/api/actions/cat/thread_pool_spec.rb +16 -3
  203. data/spec/elasticsearch/api/actions/clear_scroll_spec.rb +16 -3
  204. data/spec/elasticsearch/api/actions/cluster/allocation_explain_spec.rb +16 -3
  205. data/spec/elasticsearch/api/actions/cluster/get_settings_spec.rb +16 -3
  206. data/spec/elasticsearch/api/actions/cluster/health_spec.rb +16 -3
  207. data/spec/elasticsearch/api/actions/cluster/pending_tasks_spec.rb +16 -3
  208. data/spec/elasticsearch/api/actions/cluster/put_settings_spec.rb +16 -3
  209. data/spec/elasticsearch/api/actions/cluster/remote_info_spec.rb +16 -3
  210. data/spec/elasticsearch/api/actions/cluster/reroute_spec.rb +16 -3
  211. data/spec/elasticsearch/api/actions/cluster/state_spec.rb +16 -3
  212. data/spec/elasticsearch/api/actions/cluster/stats_spec.rb +16 -3
  213. data/spec/elasticsearch/api/actions/count_spec.rb +18 -5
  214. data/spec/elasticsearch/api/actions/create_document_spec.rb +16 -3
  215. data/spec/elasticsearch/api/actions/dangling_indices/delete_dangling_indices_spec.rb +48 -0
  216. data/spec/elasticsearch/api/actions/dangling_indices/import_dangling_indices_spec.rb +48 -0
  217. data/spec/elasticsearch/api/actions/dangling_indices/list_dangling_indices_spec.rb +36 -0
  218. data/spec/elasticsearch/api/actions/delete_by_query_spec.rb +16 -3
  219. data/spec/elasticsearch/api/actions/delete_document_spec.rb +16 -3
  220. data/spec/elasticsearch/api/actions/delete_script_spec.rb +16 -3
  221. data/spec/elasticsearch/api/actions/exists_document_spec.rb +16 -3
  222. data/spec/elasticsearch/api/actions/explain_document_spec.rb +24 -12
  223. data/spec/elasticsearch/api/actions/field_caps_spec.rb +16 -3
  224. data/spec/elasticsearch/api/actions/get_document_source_spec.rb +16 -3
  225. data/spec/elasticsearch/api/actions/get_document_spec.rb +16 -3
  226. data/spec/elasticsearch/api/actions/get_script_spec.rb +16 -3
  227. data/spec/elasticsearch/api/actions/hashie_spec.rb +16 -3
  228. data/spec/elasticsearch/api/actions/index_document_spec.rb +16 -3
  229. data/spec/elasticsearch/api/actions/indices/add_block_spec.rb +63 -0
  230. data/spec/elasticsearch/api/actions/indices/analyze_spec.rb +23 -11
  231. data/spec/elasticsearch/api/actions/indices/clone_spec.rb +16 -3
  232. data/spec/elasticsearch/api/actions/indices/close_spec.rb +16 -3
  233. data/spec/elasticsearch/api/actions/indices/create_spec.rb +16 -3
  234. data/spec/elasticsearch/api/actions/indices/delete_alias_spec.rb +16 -3
  235. data/spec/elasticsearch/api/actions/indices/delete_spec.rb +16 -3
  236. data/spec/elasticsearch/api/actions/indices/delete_template_spec.rb +16 -3
  237. data/spec/elasticsearch/api/actions/indices/exists_alias_spec.rb +16 -3
  238. data/spec/elasticsearch/api/actions/indices/exists_spec.rb +16 -3
  239. data/spec/elasticsearch/api/actions/indices/exists_template_spec.rb +16 -3
  240. data/spec/elasticsearch/api/actions/indices/exists_type_spec.rb +16 -3
  241. data/spec/elasticsearch/api/actions/indices/flush_spec.rb +16 -3
  242. data/spec/elasticsearch/api/actions/indices/flush_synced_spec.rb +16 -3
  243. data/spec/elasticsearch/api/actions/indices/forcemerge_spec.rb +16 -3
  244. data/spec/elasticsearch/api/actions/indices/freeze_spec.rb +16 -3
  245. data/spec/elasticsearch/api/actions/indices/get_alias_spec.rb +16 -3
  246. data/spec/elasticsearch/api/actions/indices/get_field_mapping_spec.rb +16 -3
  247. data/spec/elasticsearch/api/actions/indices/get_mapping_spec.rb +16 -3
  248. data/spec/elasticsearch/api/actions/indices/get_settings_spec.rb +16 -3
  249. data/spec/elasticsearch/api/actions/indices/get_spec.rb +16 -3
  250. data/spec/elasticsearch/api/actions/indices/open_spec.rb +16 -3
  251. data/spec/elasticsearch/api/actions/indices/put_alias_spec.rb +16 -3
  252. data/spec/elasticsearch/api/actions/indices/put_mapping_spec.rb +16 -3
  253. data/spec/elasticsearch/api/actions/indices/put_settings_spec.rb +16 -3
  254. data/spec/elasticsearch/api/actions/indices/put_template_spec.rb +16 -3
  255. data/spec/elasticsearch/api/actions/indices/recovery_spec.rb +16 -3
  256. data/spec/elasticsearch/api/actions/indices/refresh_spec.rb +16 -3
  257. data/spec/elasticsearch/api/actions/indices/rollover_spec.rb +16 -3
  258. data/spec/elasticsearch/api/actions/indices/segments_spec.rb +16 -3
  259. data/spec/elasticsearch/api/actions/indices/shard_stores_spec.rb +16 -3
  260. data/spec/elasticsearch/api/actions/indices/shrink_spec.rb +16 -3
  261. data/spec/elasticsearch/api/actions/indices/split_spec.rb +16 -3
  262. data/spec/elasticsearch/api/actions/indices/stats_spec.rb +16 -3
  263. data/spec/elasticsearch/api/actions/indices/unfreeze_spec.rb +16 -3
  264. data/spec/elasticsearch/api/actions/indices/update_aliases_spec.rb +16 -3
  265. data/spec/elasticsearch/api/actions/indices/upgrade_spec.rb +16 -3
  266. data/spec/elasticsearch/api/actions/indices/validate_query_spec.rb +23 -16
  267. data/spec/elasticsearch/api/actions/info_spec.rb +16 -3
  268. data/spec/elasticsearch/api/actions/ingest/delete_pipeline_spec.rb +16 -3
  269. data/spec/elasticsearch/api/actions/ingest/get_pipeline_spec.rb +16 -3
  270. data/spec/elasticsearch/api/actions/ingest/put_pipeline_spec.rb +16 -3
  271. data/spec/elasticsearch/api/actions/ingest/simulate_spec.rb +22 -10
  272. data/spec/elasticsearch/api/actions/json_builders_spec.rb +26 -16
  273. data/spec/elasticsearch/api/actions/mget_spec.rb +21 -9
  274. data/spec/elasticsearch/api/actions/msearch_spec.rb +21 -9
  275. data/spec/elasticsearch/api/actions/msearch_template_spec.rb +21 -9
  276. data/spec/elasticsearch/api/actions/mtermvectors_spec.rb +23 -10
  277. data/spec/elasticsearch/api/actions/nodes/hot_threads_spec.rb +16 -3
  278. data/spec/elasticsearch/api/actions/nodes/info_spec.rb +16 -3
  279. data/spec/elasticsearch/api/actions/nodes/reload_secure_settings_spec.rb +25 -20
  280. data/spec/elasticsearch/api/actions/nodes/shutdown_spec.rb +76 -0
  281. data/spec/elasticsearch/api/actions/nodes/stats_spec.rb +16 -3
  282. data/spec/elasticsearch/api/actions/ping_spec.rb +16 -3
  283. data/spec/elasticsearch/api/actions/put_script_spec.rb +16 -3
  284. data/spec/elasticsearch/api/actions/reindex_spec.rb +16 -3
  285. data/spec/elasticsearch/api/actions/remote/info_spec.rb +35 -0
  286. data/spec/elasticsearch/api/actions/render_search_template_spec.rb +18 -5
  287. data/spec/elasticsearch/api/actions/scroll_spec.rb +17 -4
  288. data/spec/elasticsearch/api/actions/search_shards_spec.rb +16 -3
  289. data/spec/elasticsearch/api/actions/search_spec.rb +23 -10
  290. data/spec/elasticsearch/api/actions/search_template_spec.rb +21 -9
  291. data/spec/elasticsearch/api/actions/snapshot/create_repository_spec.rb +16 -3
  292. data/spec/elasticsearch/api/actions/snapshot/create_spec.rb +16 -3
  293. data/spec/elasticsearch/api/actions/snapshot/delete_repository_spec.rb +16 -3
  294. data/spec/elasticsearch/api/actions/snapshot/delete_spec.rb +16 -3
  295. data/spec/elasticsearch/api/actions/snapshot/get_repository_spec.rb +16 -3
  296. data/spec/elasticsearch/api/actions/snapshot/get_spec.rb +16 -3
  297. data/spec/elasticsearch/api/actions/snapshot/restore_spec.rb +16 -3
  298. data/spec/elasticsearch/api/actions/snapshot/status_spec.rb +16 -3
  299. data/spec/elasticsearch/api/actions/snapshot/verify_repository_spec.rb +16 -3
  300. data/spec/elasticsearch/api/actions/tasks/cancel_spec.rb +16 -3
  301. data/spec/elasticsearch/api/actions/tasks/get_spec.rb +16 -3
  302. data/spec/elasticsearch/api/actions/tasks/list_spec.rb +16 -3
  303. data/spec/elasticsearch/api/actions/termvectors_spec.rb +21 -10
  304. data/spec/elasticsearch/api/actions/update_by_query_spec.rb +16 -3
  305. data/spec/elasticsearch/api/actions/update_document_spec.rb +16 -3
  306. data/spec/elasticsearch/api/api_spec.rb +16 -3
  307. data/spec/elasticsearch/api/client_spec.rb +16 -3
  308. data/spec/elasticsearch/api/rest_api_yaml_spec.rb +0 -1
  309. data/spec/elasticsearch/api/utils_spec.rb +16 -3
  310. data/spec/rest_yaml_tests_helper.rb +16 -7
  311. data/spec/spec_helper.rb +22 -8
  312. data/utils/Gemfile +16 -3
  313. data/utils/thor/.rubocop.yml +2 -0
  314. data/utils/thor/generate_source.rb +70 -22
  315. data/utils/thor/generator/endpoint_specifics.rb +24 -4
  316. data/utils/thor/generator/files_helper.rb +16 -3
  317. data/utils/thor/lister.rb +16 -3
  318. data/utils/thor/templates/_documentation_top.erb +12 -1
  319. data/utils/thor/templates/method.erb +16 -3
  320. data/utils/thor/templates/test_helper.rb +16 -3
  321. metadata +40 -11
  322. data/lib/elasticsearch/api/actions/indices/create_data_stream.rb +0 -37
  323. data/lib/elasticsearch/api/actions/indices/delete_data_stream.rb +0 -35
  324. data/lib/elasticsearch/api/actions/indices/get_data_streams.rb +0 -37
  325. data/spec/README.md +0 -61
  326. data/test/integration/yaml_test_runner.rb +0 -579
  327. data/test/test_helper.rb +0 -105
@@ -1,6 +1,19 @@
1
- # Licensed to Elasticsearch B.V under one or more agreements.
2
- # Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
3
- # See the LICENSE file in the project root for more information
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.
4
17
 
5
18
  module Elasticsearch
6
19
  module API
@@ -17,7 +30,7 @@ module Elasticsearch
17
30
  # @option arguments [Hash] :headers Custom HTTP headers
18
31
  # @option arguments [Hash] :body The configuration for the target index (`settings` and `aliases`)
19
32
  #
20
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.7/indices-shrink-index.html
33
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.9/indices-shrink-index.html
21
34
  #
22
35
  def shrink(arguments = {})
23
36
  raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
@@ -48,7 +61,7 @@ module Elasticsearch
48
61
  :master_timeout,
49
62
  :wait_for_active_shards
50
63
  ].freeze)
51
- end
52
64
  end
65
+ end
53
66
  end
54
67
  end
@@ -0,0 +1,65 @@
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 Indices
21
+ module Actions
22
+ # Simulate matching the given index name against the index templates in the system
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] :name The name of the index (it must be a concrete index name)
29
+ # @option arguments [Boolean] :create Whether the index template we optionally defined in the body should only be dry-run added if new or can also replace an existing one
30
+ # @option arguments [String] :cause User defined reason for dry-run creating the new template for simulation purposes
31
+ # @option arguments [Time] :master_timeout Specify timeout for connection to master
32
+ # @option arguments [Hash] :headers Custom HTTP headers
33
+ # @option arguments [Hash] :body New index template definition, which will be included in the simulation, as if it already exists in the system
34
+ #
35
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.9/indices-templates.html
36
+ #
37
+ def simulate_index_template(arguments = {})
38
+ raise ArgumentError, "Required argument 'name' missing" unless arguments[:name]
39
+
40
+ headers = arguments.delete(:headers) || {}
41
+
42
+ arguments = arguments.clone
43
+
44
+ _name = arguments.delete(:name)
45
+
46
+ method = Elasticsearch::API::HTTP_POST
47
+ path = "_index_template/_simulate_index/#{Utils.__listify(_name)}"
48
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
49
+
50
+ body = arguments[:body]
51
+ perform_request(method, path, params, body, headers).body
52
+ end
53
+
54
+ # Register this action with its valid params when the module is loaded.
55
+ #
56
+ # @since 6.2.0
57
+ ParamsRegistry.register(:simulate_index_template, [
58
+ :create,
59
+ :cause,
60
+ :master_timeout
61
+ ].freeze)
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,67 @@
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 Indices
21
+ module Actions
22
+ # Simulate resolving the given template name or body
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] :name The name of the index template
29
+ # @option arguments [Boolean] :create Whether the index template we optionally defined in the body should only be dry-run added if new or can also replace an existing one
30
+ # @option arguments [String] :cause User defined reason for dry-run creating the new template for simulation purposes
31
+ # @option arguments [Time] :master_timeout Specify timeout for connection to master
32
+ # @option arguments [Hash] :headers Custom HTTP headers
33
+ # @option arguments [Hash] :body New index template definition to be simulated, if no index template name is specified
34
+ #
35
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.9/indices-templates.html
36
+ #
37
+ def simulate_template(arguments = {})
38
+ headers = arguments.delete(:headers) || {}
39
+
40
+ arguments = arguments.clone
41
+
42
+ _name = arguments.delete(:name)
43
+
44
+ method = Elasticsearch::API::HTTP_POST
45
+ path = if _name
46
+ "_index_template/_simulate/#{Utils.__listify(_name)}"
47
+ else
48
+ "_index_template/_simulate"
49
+ end
50
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
51
+
52
+ body = arguments[:body]
53
+ perform_request(method, path, params, body, headers).body
54
+ end
55
+
56
+ # Register this action with its valid params when the module is loaded.
57
+ #
58
+ # @since 6.2.0
59
+ ParamsRegistry.register(:simulate_template, [
60
+ :create,
61
+ :cause,
62
+ :master_timeout
63
+ ].freeze)
64
+ end
65
+ end
66
+ end
67
+ end
@@ -1,6 +1,19 @@
1
- # Licensed to Elasticsearch B.V under one or more agreements.
2
- # Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
3
- # See the LICENSE file in the project root for more information
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.
4
17
 
5
18
  module Elasticsearch
6
19
  module API
@@ -17,7 +30,7 @@ module Elasticsearch
17
30
  # @option arguments [Hash] :headers Custom HTTP headers
18
31
  # @option arguments [Hash] :body The configuration for the target index (`settings` and `aliases`)
19
32
  #
20
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.7/indices-split-index.html
33
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.9/indices-split-index.html
21
34
  #
22
35
  def split(arguments = {})
23
36
  raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
@@ -48,7 +61,7 @@ module Elasticsearch
48
61
  :master_timeout,
49
62
  :wait_for_active_shards
50
63
  ].freeze)
51
- end
52
64
  end
65
+ end
53
66
  end
54
67
  end
@@ -1,6 +1,19 @@
1
- # Licensed to Elasticsearch B.V under one or more agreements.
2
- # Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
3
- # See the LICENSE file in the project root for more information
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.
4
17
 
5
18
  module Elasticsearch
6
19
  module API
@@ -8,27 +21,21 @@ module Elasticsearch
8
21
  module Actions
9
22
  # Provides statistics on operations happening in an index.
10
23
  #
11
- # @option arguments [List] :metric Limit the information returned the specific metrics.
12
- # (options: _all,completion,docs,fielddata,query_cache,flush,get,indexing,merge,request_cache,refresh,search,segments,store,warmer,suggest)
13
-
24
+ # @option arguments [List] :metric Limit the information returned the specific metrics. (options: _all, completion, docs, fielddata, query_cache, flush, get, indexing, merge, request_cache, refresh, search, segments, store, warmer, suggest)
14
25
  # @option arguments [List] :index A comma-separated list of index names; use `_all` or empty string to perform the operation on all indices
15
26
  # @option arguments [List] :completion_fields A comma-separated list of fields for `fielddata` and `suggest` index metric (supports wildcards)
16
27
  # @option arguments [List] :fielddata_fields A comma-separated list of fields for `fielddata` index metric (supports wildcards)
17
28
  # @option arguments [List] :fields A comma-separated list of fields for `fielddata` and `completion` index metric (supports wildcards)
18
29
  # @option arguments [List] :groups A comma-separated list of search groups for `search` index metric
19
- # @option arguments [String] :level Return stats aggregated at cluster, index or shard level
20
- # (options: cluster,indices,shards)
21
-
30
+ # @option arguments [String] :level Return stats aggregated at cluster, index or shard level (options: cluster, indices, shards)
22
31
  # @option arguments [List] :types A comma-separated list of document types for the `indexing` index metric
23
32
  # @option arguments [Boolean] :include_segment_file_sizes Whether to report the aggregated disk usage of each one of the Lucene index files (only applies if segment stats are requested)
24
33
  # @option arguments [Boolean] :include_unloaded_segments If set to true segment stats will include stats for segments that are not currently loaded into memory
25
- # @option arguments [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that are open, closed or both.
26
- # (options: open,closed,hidden,none,all)
27
-
34
+ # @option arguments [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that are open, closed or both. (options: open, closed, hidden, none, all)
28
35
  # @option arguments [Boolean] :forbid_closed_indices If set to false stats will also collected from closed indices if explicitly specified or if expand_wildcards expands to closed indices
29
36
  # @option arguments [Hash] :headers Custom HTTP headers
30
37
  #
31
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.7/indices-stats.html
38
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.9/indices-stats.html
32
39
  #
33
40
  def stats(arguments = {})
34
41
  headers = arguments.delete(:headers) || {}
@@ -79,7 +86,7 @@ module Elasticsearch
79
86
  :suggest,
80
87
  :metric
81
88
  ].freeze)
82
- end
83
89
  end
90
+ end
84
91
  end
85
92
  end
@@ -1,6 +1,19 @@
1
- # Licensed to Elasticsearch B.V under one or more agreements.
2
- # Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
3
- # See the LICENSE file in the project root for more information
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.
4
17
 
5
18
  module Elasticsearch
6
19
  module API
@@ -1,6 +1,19 @@
1
- # Licensed to Elasticsearch B.V under one or more agreements.
2
- # Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
3
- # See the LICENSE file in the project root for more information
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.
4
17
 
5
18
  module Elasticsearch
6
19
  module API
@@ -13,7 +26,7 @@ module Elasticsearch
13
26
  # @option arguments [Hash] :headers Custom HTTP headers
14
27
  # @option arguments [Hash] :body The definition of `actions` to perform (*Required*)
15
28
  #
16
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.7/indices-aliases.html
29
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.9/indices-aliases.html
17
30
  #
18
31
  def update_aliases(arguments = {})
19
32
  raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
@@ -37,7 +50,7 @@ module Elasticsearch
37
50
  :timeout,
38
51
  :master_timeout
39
52
  ].freeze)
40
- end
41
53
  end
54
+ end
42
55
  end
43
56
  end
@@ -1,6 +1,19 @@
1
- # Licensed to Elasticsearch B.V under one or more agreements.
2
- # Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
3
- # See the LICENSE file in the project root for more information
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.
4
17
 
5
18
  module Elasticsearch
6
19
  module API
@@ -10,15 +23,13 @@ module Elasticsearch
10
23
  #
11
24
  # @option arguments [List] :index A comma-separated list of index names; use `_all` or empty string to perform the operation on all indices
12
25
  # @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)
13
- # @option arguments [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that are open, closed or both.
14
- # (options: open,closed,hidden,none,all)
15
-
26
+ # @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)
16
27
  # @option arguments [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when unavailable (missing or closed)
17
28
  # @option arguments [Boolean] :wait_for_completion Specify whether the request should block until the all segments are upgraded (default: false)
18
29
  # @option arguments [Boolean] :only_ancient_segments If true, only ancient (an older Lucene major release) segments will be upgraded
19
30
  # @option arguments [Hash] :headers Custom HTTP headers
20
31
  #
21
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.7/indices-upgrade.html
32
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.9/indices-upgrade.html
22
33
  #
23
34
  def upgrade(arguments = {})
24
35
  headers = arguments.delete(:headers) || {}
@@ -32,7 +43,7 @@ module Elasticsearch
32
43
  "#{Utils.__listify(_index)}/_upgrade"
33
44
  else
34
45
  "_upgrade"
35
- end
46
+ end
36
47
  params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
37
48
 
38
49
  body = nil
@@ -49,7 +60,7 @@ module Elasticsearch
49
60
  :wait_for_completion,
50
61
  :only_ancient_segments
51
62
  ].freeze)
52
- end
53
63
  end
64
+ end
54
65
  end
55
66
  end
@@ -1,6 +1,19 @@
1
- # Licensed to Elasticsearch B.V under one or more agreements.
2
- # Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
3
- # See the LICENSE file in the project root for more information
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.
4
17
 
5
18
  module Elasticsearch
6
19
  module API
@@ -9,19 +22,15 @@ module Elasticsearch
9
22
  # Allows a user to validate a potentially expensive query without executing it.
10
23
  #
11
24
  # @option arguments [List] :index A comma-separated list of index names to restrict the operation; use `_all` or empty string to perform the operation on all indices
12
- # @option arguments [List] :type A comma-separated list of document types to restrict the operation; leave empty to perform the operation on all types *Deprecated*
25
+ # @option arguments [List] :type A comma-separated list of document types to restrict the operation; leave empty to perform the operation on all types *Deprecated*
13
26
  # @option arguments [Boolean] :explain Return detailed information about the error
14
27
  # @option arguments [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when unavailable (missing or closed)
15
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)
16
- # @option arguments [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that are open, closed or both.
17
- # (options: open,closed,hidden,none,all)
18
-
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)
19
30
  # @option arguments [String] :q Query in the Lucene query string syntax
20
31
  # @option arguments [String] :analyzer The analyzer to use for the query string
21
32
  # @option arguments [Boolean] :analyze_wildcard Specify whether wildcard and prefix queries should be analyzed (default: false)
22
- # @option arguments [String] :default_operator The default operator for query string query (AND or OR)
23
- # (options: AND,OR)
24
-
33
+ # @option arguments [String] :default_operator The default operator for query string query (AND or OR) (options: AND, OR)
25
34
  # @option arguments [String] :df The field to use as default where no field prefix is given in the query string
26
35
  # @option arguments [Boolean] :lenient Specify whether format-based query failures (such as providing text to a numeric field) should be ignored
27
36
  # @option arguments [Boolean] :rewrite Provide a more detailed explanation showing the actual Lucene query that will be executed.
@@ -34,7 +43,7 @@ module Elasticsearch
34
43
  # Deprecated since version 7.0.0
35
44
  #
36
45
  #
37
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.7/search-validate.html
46
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.9/search-validate.html
38
47
  #
39
48
  def validate_query(arguments = {})
40
49
  headers = arguments.delete(:headers) || {}
@@ -45,14 +54,19 @@ module Elasticsearch
45
54
 
46
55
  _type = arguments.delete(:type)
47
56
 
48
- method = Elasticsearch::API::HTTP_GET
49
- path = if _index && _type
50
- "#{Utils.__listify(_index)}/#{Utils.__listify(_type)}/_validate/query"
51
- elsif _index
52
- "#{Utils.__listify(_index)}/_validate/query"
57
+ method = if arguments[:body]
58
+ Elasticsearch::API::HTTP_POST
53
59
  else
54
- "_validate/query"
55
- end
60
+ Elasticsearch::API::HTTP_GET
61
+ end
62
+
63
+ path = if _index && _type
64
+ "#{Utils.__listify(_index)}/#{Utils.__listify(_type)}/_validate/query"
65
+ elsif _index
66
+ "#{Utils.__listify(_index)}/_validate/query"
67
+ else
68
+ "_validate/query"
69
+ end
56
70
  params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
57
71
 
58
72
  body = arguments[:body]
@@ -76,7 +90,7 @@ module Elasticsearch
76
90
  :rewrite,
77
91
  :all_shards
78
92
  ].freeze)
79
- end
80
93
  end
94
+ end
81
95
  end
82
96
  end