elasticsearch-api 6.8.0 → 7.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (379) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +26 -5
  3. data/LICENSE +202 -0
  4. data/README.md +24 -21
  5. data/Rakefile +43 -45
  6. data/elasticsearch-api.gemspec +56 -55
  7. data/lib/elasticsearch/api/actions/abort_benchmark.rb +19 -3
  8. data/lib/elasticsearch/api/actions/benchmark.rb +21 -5
  9. data/lib/elasticsearch/api/actions/bulk.rb +54 -69
  10. data/lib/elasticsearch/api/actions/cat/aliases.rb +45 -45
  11. data/lib/elasticsearch/api/actions/cat/allocation.rb +45 -41
  12. data/lib/elasticsearch/api/actions/cat/count.rb +38 -39
  13. data/lib/elasticsearch/api/actions/cat/fielddata.rb +42 -29
  14. data/lib/elasticsearch/api/actions/cat/health.rb +37 -29
  15. data/lib/elasticsearch/api/actions/cat/help.rb +31 -9
  16. data/lib/elasticsearch/api/actions/cat/indices.rb +51 -51
  17. data/lib/elasticsearch/api/actions/cat/master.rb +36 -26
  18. data/lib/elasticsearch/api/actions/cat/nodeattrs.rb +36 -14
  19. data/lib/elasticsearch/api/actions/cat/nodes.rb +43 -39
  20. data/lib/elasticsearch/api/actions/cat/params_registry.rb +20 -4
  21. data/lib/elasticsearch/api/actions/cat/pending_tasks.rb +38 -26
  22. data/lib/elasticsearch/api/actions/cat/plugins.rb +36 -14
  23. data/lib/elasticsearch/api/actions/cat/recovery.rb +47 -47
  24. data/lib/elasticsearch/api/actions/cat/repositories.rb +36 -22
  25. data/lib/elasticsearch/api/actions/cat/segments.rb +42 -19
  26. data/lib/elasticsearch/api/actions/cat/shards.rb +45 -50
  27. data/lib/elasticsearch/api/actions/cat/snapshots.rb +44 -25
  28. data/lib/elasticsearch/api/actions/cat/tasks.rb +40 -16
  29. data/lib/elasticsearch/api/actions/cat/templates.rb +43 -16
  30. data/lib/elasticsearch/api/actions/cat/thread_pool.rb +46 -35
  31. data/lib/elasticsearch/api/actions/clear_scroll.rb +40 -17
  32. data/lib/elasticsearch/api/actions/cluster/allocation_explain.rb +38 -11
  33. data/lib/elasticsearch/api/actions/cluster/delete_component_template.rb +62 -0
  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 +64 -0
  37. data/lib/elasticsearch/api/actions/cluster/get_settings.rb +33 -15
  38. data/lib/elasticsearch/api/actions/cluster/health.rb +46 -27
  39. data/lib/elasticsearch/api/actions/cluster/params_registry.rb +20 -4
  40. data/lib/elasticsearch/api/actions/cluster/pending_tasks.rb +32 -14
  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 +66 -0
  43. data/lib/elasticsearch/api/actions/cluster/put_settings.rb +35 -15
  44. data/lib/elasticsearch/api/actions/cluster/remote_info.rb +27 -12
  45. data/lib/elasticsearch/api/actions/cluster/reroute.rb +38 -33
  46. data/lib/elasticsearch/api/actions/cluster/state.rb +53 -44
  47. data/lib/elasticsearch/api/actions/cluster/stats.rb +38 -19
  48. data/lib/elasticsearch/api/actions/count.rb +60 -36
  49. data/lib/elasticsearch/api/actions/create.rb +37 -25
  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 +62 -47
  55. data/lib/elasticsearch/api/actions/delete_by_query.rb +82 -57
  56. data/lib/elasticsearch/api/actions/delete_by_query_rethrottle.rb +36 -11
  57. data/lib/elasticsearch/api/actions/delete_by_rethrottle.rb +47 -0
  58. data/lib/elasticsearch/api/actions/delete_script.rb +37 -12
  59. data/lib/elasticsearch/api/actions/exists.rb +61 -34
  60. data/lib/elasticsearch/api/actions/exists_source.rb +60 -24
  61. data/lib/elasticsearch/api/actions/explain.rb +68 -44
  62. data/lib/elasticsearch/api/actions/field_caps.rb +49 -19
  63. data/lib/elasticsearch/api/actions/get.rb +60 -40
  64. data/lib/elasticsearch/api/actions/get_script.rb +37 -13
  65. data/lib/elasticsearch/api/actions/get_script_context.rb +45 -0
  66. data/lib/elasticsearch/api/actions/get_script_languages.rb +45 -0
  67. data/lib/elasticsearch/api/actions/get_source.rb +57 -38
  68. data/lib/elasticsearch/api/actions/index.rb +67 -74
  69. data/lib/elasticsearch/api/actions/indices/add_block.rb +68 -0
  70. data/lib/elasticsearch/api/actions/indices/analyze.rb +41 -34
  71. data/lib/elasticsearch/api/actions/indices/clear_cache.rb +44 -41
  72. data/lib/elasticsearch/api/actions/indices/clone.rb +65 -0
  73. data/lib/elasticsearch/api/actions/indices/close.rb +41 -21
  74. data/lib/elasticsearch/api/actions/indices/create.rb +39 -69
  75. data/lib/elasticsearch/api/actions/indices/delete.rb +41 -34
  76. data/lib/elasticsearch/api/actions/indices/delete_alias.rb +41 -19
  77. data/lib/elasticsearch/api/actions/indices/delete_index_template.rb +62 -0
  78. data/lib/elasticsearch/api/actions/indices/delete_template.rb +36 -20
  79. data/lib/elasticsearch/api/actions/indices/exists.rb +43 -21
  80. data/lib/elasticsearch/api/actions/indices/exists_alias.rb +46 -18
  81. data/lib/elasticsearch/api/actions/indices/exists_index_template.rb +65 -0
  82. data/lib/elasticsearch/api/actions/indices/exists_template.rb +37 -14
  83. data/lib/elasticsearch/api/actions/indices/exists_type.rb +42 -17
  84. data/lib/elasticsearch/api/actions/indices/flush.rb +41 -19
  85. data/lib/elasticsearch/api/actions/indices/flush_synced.rb +45 -11
  86. data/lib/elasticsearch/api/actions/indices/forcemerge.rb +42 -40
  87. data/lib/elasticsearch/api/actions/indices/freeze.rb +24 -7
  88. data/lib/elasticsearch/api/actions/indices/get.rb +42 -18
  89. data/lib/elasticsearch/api/actions/indices/get_alias.rb +47 -22
  90. data/lib/elasticsearch/api/actions/indices/get_field_mapping.rb +59 -37
  91. data/lib/elasticsearch/api/actions/indices/get_index_template.rb +66 -0
  92. data/lib/elasticsearch/api/actions/indices/get_mapping.rb +57 -32
  93. data/lib/elasticsearch/api/actions/indices/get_settings.rb +50 -36
  94. data/lib/elasticsearch/api/actions/indices/get_template.rb +40 -22
  95. data/lib/elasticsearch/api/actions/indices/get_upgrade.rb +62 -0
  96. data/lib/elasticsearch/api/actions/indices/open.rb +40 -20
  97. data/lib/elasticsearch/api/actions/indices/params_registry.rb +20 -4
  98. data/lib/elasticsearch/api/actions/indices/put_alias.rb +43 -26
  99. data/lib/elasticsearch/api/actions/indices/put_index_template.rb +66 -0
  100. data/lib/elasticsearch/api/actions/indices/put_mapping.rb +58 -40
  101. data/lib/elasticsearch/api/actions/indices/put_settings.rb +46 -36
  102. data/lib/elasticsearch/api/actions/indices/put_template.rb +40 -24
  103. data/lib/elasticsearch/api/actions/indices/recovery.rb +38 -22
  104. data/lib/elasticsearch/api/actions/indices/refresh.rb +39 -25
  105. data/lib/elasticsearch/api/actions/indices/resolve_index.rb +60 -0
  106. data/lib/elasticsearch/api/actions/indices/rollover.rb +47 -18
  107. data/lib/elasticsearch/api/actions/indices/segments.rb +40 -16
  108. data/lib/elasticsearch/api/actions/indices/shard_stores.rb +41 -13
  109. data/lib/elasticsearch/api/actions/indices/shrink.rb +40 -17
  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 +40 -18
  113. data/lib/elasticsearch/api/actions/indices/stats.rb +68 -104
  114. data/lib/elasticsearch/api/actions/indices/unfreeze.rb +24 -7
  115. data/lib/elasticsearch/api/actions/indices/update_aliases.rb +33 -31
  116. data/lib/elasticsearch/api/actions/indices/upgrade.rb +42 -14
  117. data/lib/elasticsearch/api/actions/indices/validate_query.rb +64 -57
  118. data/lib/elasticsearch/api/actions/info.rb +29 -13
  119. data/lib/elasticsearch/api/actions/ingest/delete_pipeline.rb +36 -11
  120. data/lib/elasticsearch/api/actions/ingest/get_pipeline.rb +37 -9
  121. data/lib/elasticsearch/api/actions/ingest/params_registry.rb +20 -4
  122. data/lib/elasticsearch/api/actions/ingest/processor_grok.rb +27 -13
  123. data/lib/elasticsearch/api/actions/ingest/put_pipeline.rb +37 -13
  124. data/lib/elasticsearch/api/actions/ingest/simulate.rb +39 -10
  125. data/lib/elasticsearch/api/actions/mget.rb +55 -43
  126. data/lib/elasticsearch/api/actions/msearch.rb +67 -50
  127. data/lib/elasticsearch/api/actions/msearch_template.rb +62 -29
  128. data/lib/elasticsearch/api/actions/mtermvectors.rb +59 -32
  129. data/lib/elasticsearch/api/actions/nodes/hot_threads.rb +46 -22
  130. data/lib/elasticsearch/api/actions/nodes/info.rb +43 -40
  131. data/lib/elasticsearch/api/actions/nodes/params_registry.rb +20 -4
  132. data/lib/elasticsearch/api/actions/nodes/reload_secure_settings.rb +37 -21
  133. data/lib/elasticsearch/api/actions/nodes/shutdown.rb +22 -5
  134. data/lib/elasticsearch/api/actions/nodes/stats.rb +53 -33
  135. data/lib/elasticsearch/api/actions/nodes/usage.rb +46 -12
  136. data/lib/elasticsearch/api/actions/params_registry.rb +20 -4
  137. data/lib/elasticsearch/api/actions/ping.rb +30 -18
  138. data/lib/elasticsearch/api/actions/put_script.rb +44 -31
  139. data/lib/elasticsearch/api/actions/rank_eval.rb +49 -16
  140. data/lib/elasticsearch/api/actions/reindex.rb +45 -48
  141. data/lib/elasticsearch/api/actions/reindex_rethrottle.rb +36 -11
  142. data/lib/elasticsearch/api/actions/remote/info.rb +18 -2
  143. data/lib/elasticsearch/api/actions/render_search_template.rb +41 -15
  144. data/lib/elasticsearch/api/actions/scripts_painless_execute.rb +38 -14
  145. data/lib/elasticsearch/api/actions/scroll.rb +51 -51
  146. data/lib/elasticsearch/api/actions/search.rb +96 -121
  147. data/lib/elasticsearch/api/actions/search_shards.rb +43 -15
  148. data/lib/elasticsearch/api/actions/search_template.rb +64 -37
  149. data/lib/elasticsearch/api/actions/snapshot/cleanup_repository.rb +58 -0
  150. data/lib/elasticsearch/api/actions/snapshot/clone.rb +66 -0
  151. data/lib/elasticsearch/api/actions/snapshot/create.rb +39 -26
  152. data/lib/elasticsearch/api/actions/snapshot/create_repository.rb +37 -23
  153. data/lib/elasticsearch/api/actions/snapshot/delete.rb +38 -21
  154. data/lib/elasticsearch/api/actions/snapshot/delete_repository.rb +35 -17
  155. data/lib/elasticsearch/api/actions/snapshot/get.rb +40 -29
  156. data/lib/elasticsearch/api/actions/snapshot/get_repository.rb +38 -20
  157. data/lib/elasticsearch/api/actions/snapshot/params_registry.rb +20 -4
  158. data/lib/elasticsearch/api/actions/snapshot/restore.rb +39 -31
  159. data/lib/elasticsearch/api/actions/snapshot/status.rb +41 -21
  160. data/lib/elasticsearch/api/actions/snapshot/verify_repository.rb +36 -12
  161. data/lib/elasticsearch/api/actions/tasks/cancel.rb +39 -12
  162. data/lib/elasticsearch/api/actions/tasks/get.rb +34 -12
  163. data/lib/elasticsearch/api/actions/tasks/list.rb +35 -16
  164. data/lib/elasticsearch/api/actions/tasks/params_registry.rb +20 -4
  165. data/lib/elasticsearch/api/actions/termvectors.rb +71 -65
  166. data/lib/elasticsearch/api/actions/update.rb +68 -72
  167. data/lib/elasticsearch/api/actions/update_by_query.rb +84 -62
  168. data/lib/elasticsearch/api/actions/update_by_query_rethrottle.rb +36 -11
  169. data/lib/elasticsearch/api/namespace/cat.rb +17 -1
  170. data/lib/elasticsearch/api/namespace/cluster.rb +17 -0
  171. data/lib/elasticsearch/api/namespace/common.rb +17 -0
  172. data/lib/elasticsearch/api/namespace/dangling_indices.rb +35 -0
  173. data/lib/elasticsearch/api/namespace/indices.rb +17 -0
  174. data/lib/elasticsearch/api/namespace/ingest.rb +17 -0
  175. data/lib/elasticsearch/api/namespace/nodes.rb +17 -0
  176. data/lib/elasticsearch/api/namespace/remote.rb +17 -0
  177. data/lib/elasticsearch/api/namespace/snapshot.rb +17 -0
  178. data/lib/elasticsearch/api/namespace/tasks.rb +17 -0
  179. data/lib/elasticsearch/api/utils.rb +17 -0
  180. data/lib/elasticsearch/api/version.rb +18 -1
  181. data/lib/elasticsearch/api.rb +22 -2
  182. data/lib/elasticsearch-api.rb +17 -0
  183. data/spec/elasticsearch/api/actions/abort_benchmark_spec.rb +17 -0
  184. data/spec/elasticsearch/api/actions/benchmark_spec.rb +17 -0
  185. data/spec/elasticsearch/api/actions/bulk_spec.rb +17 -0
  186. data/spec/elasticsearch/api/actions/cat/aliases_spec.rb +18 -1
  187. data/spec/elasticsearch/api/actions/cat/allocation_spec.rb +18 -1
  188. data/spec/elasticsearch/api/actions/cat/count_spec.rb +18 -1
  189. data/spec/elasticsearch/api/actions/cat/fielddata_spec.rb +19 -2
  190. data/spec/elasticsearch/api/actions/cat/health_spec.rb +18 -1
  191. data/spec/elasticsearch/api/actions/cat/help_spec.rb +18 -1
  192. data/spec/elasticsearch/api/actions/cat/indices_spec.rb +18 -1
  193. data/spec/elasticsearch/api/actions/cat/master_spec.rb +18 -1
  194. data/spec/elasticsearch/api/actions/cat/nodeattrs_spec.rb +18 -1
  195. data/spec/elasticsearch/api/actions/cat/nodes_spec.rb +18 -1
  196. data/spec/elasticsearch/api/actions/cat/pending_tasks_spec.rb +18 -1
  197. data/spec/elasticsearch/api/actions/cat/plugins_spec.rb +18 -1
  198. data/spec/elasticsearch/api/actions/cat/recovery_spec.rb +18 -1
  199. data/spec/elasticsearch/api/actions/cat/repositories_spec.rb +18 -1
  200. data/spec/elasticsearch/api/actions/cat/segments_spec.rb +36 -5
  201. data/spec/elasticsearch/api/actions/cat/shards_spec.rb +18 -1
  202. data/spec/elasticsearch/api/actions/cat/snapshot_spec.rb +18 -1
  203. data/spec/elasticsearch/api/actions/cat/tasks_spec.rb +18 -1
  204. data/spec/elasticsearch/api/actions/cat/templates_spec.rb +18 -1
  205. data/spec/elasticsearch/api/actions/cat/thread_pool_spec.rb +18 -1
  206. data/spec/elasticsearch/api/actions/clear_scroll_spec.rb +21 -2
  207. data/spec/elasticsearch/api/actions/cluster/allocation_explain_spec.rb +18 -1
  208. data/spec/elasticsearch/api/actions/cluster/get_settings_spec.rb +18 -1
  209. data/spec/elasticsearch/api/actions/cluster/health_spec.rb +20 -3
  210. data/spec/elasticsearch/api/actions/cluster/pending_tasks_spec.rb +18 -1
  211. data/spec/elasticsearch/api/actions/cluster/put_settings_spec.rb +19 -2
  212. data/spec/elasticsearch/api/actions/cluster/remote_info_spec.rb +18 -1
  213. data/spec/elasticsearch/api/actions/cluster/reroute_spec.rb +19 -2
  214. data/spec/elasticsearch/api/actions/cluster/state_spec.rb +19 -2
  215. data/spec/elasticsearch/api/actions/cluster/stats_spec.rb +18 -18
  216. data/spec/elasticsearch/api/actions/count_spec.rb +30 -10
  217. data/spec/elasticsearch/api/actions/create_document_spec.rb +25 -4
  218. data/spec/elasticsearch/api/actions/dangling_indices/delete_dangling_indices_spec.rb +48 -0
  219. data/spec/elasticsearch/api/actions/dangling_indices/import_dangling_indices_spec.rb +48 -0
  220. data/spec/elasticsearch/api/actions/dangling_indices/list_dangling_indices_spec.rb +36 -0
  221. data/spec/elasticsearch/api/actions/delete_by_query_spec.rb +33 -8
  222. data/spec/elasticsearch/api/actions/delete_document_spec.rb +21 -8
  223. data/spec/elasticsearch/api/actions/delete_script_spec.rb +19 -15
  224. data/spec/elasticsearch/api/actions/exists_document_spec.rb +20 -2
  225. data/spec/elasticsearch/api/actions/explain_document_spec.rb +26 -15
  226. data/spec/elasticsearch/api/actions/field_caps_spec.rb +19 -1
  227. data/spec/elasticsearch/api/actions/get_document_source_spec.rb +24 -4
  228. data/spec/elasticsearch/api/actions/get_document_spec.rb +20 -2
  229. data/spec/elasticsearch/api/actions/get_script_spec.rb +25 -14
  230. data/spec/elasticsearch/api/actions/hashie_spec.rb +17 -0
  231. data/spec/elasticsearch/api/actions/index_document_spec.rb +25 -22
  232. data/spec/elasticsearch/api/actions/indices/add_block_spec.rb +63 -0
  233. data/spec/elasticsearch/api/actions/indices/analyze_spec.rb +24 -12
  234. data/spec/elasticsearch/api/actions/indices/clear_cache_spec.rb +8 -8
  235. data/spec/elasticsearch/api/actions/indices/clone_spec.rb +122 -0
  236. data/spec/elasticsearch/api/actions/indices/close_spec.rb +18 -1
  237. data/spec/elasticsearch/api/actions/indices/create_spec.rb +18 -1
  238. data/spec/elasticsearch/api/actions/indices/delete_alias_spec.rb +20 -3
  239. data/spec/elasticsearch/api/actions/indices/delete_spec.rb +18 -1
  240. data/spec/elasticsearch/api/actions/indices/delete_template_spec.rb +18 -1
  241. data/spec/elasticsearch/api/actions/indices/exists_alias_spec.rb +18 -1
  242. data/spec/elasticsearch/api/actions/indices/exists_spec.rb +18 -1
  243. data/spec/elasticsearch/api/actions/indices/exists_template_spec.rb +18 -1
  244. data/spec/elasticsearch/api/actions/indices/exists_type_spec.rb +18 -1
  245. data/spec/elasticsearch/api/actions/indices/flush_spec.rb +18 -1
  246. data/spec/elasticsearch/api/actions/indices/flush_synced_spec.rb +18 -1
  247. data/spec/elasticsearch/api/actions/indices/forcemerge_spec.rb +18 -1
  248. data/spec/elasticsearch/api/actions/indices/freeze_spec.rb +85 -0
  249. data/spec/elasticsearch/api/actions/indices/get_alias_spec.rb +18 -1
  250. data/spec/elasticsearch/api/actions/indices/get_field_mapping_spec.rb +18 -1
  251. data/spec/elasticsearch/api/actions/indices/get_mapping_spec.rb +18 -1
  252. data/spec/elasticsearch/api/actions/indices/get_settings_spec.rb +18 -1
  253. data/spec/elasticsearch/api/actions/indices/get_spec.rb +18 -12
  254. data/spec/elasticsearch/api/actions/indices/open_spec.rb +18 -1
  255. data/spec/elasticsearch/api/actions/indices/put_alias_spec.rb +21 -4
  256. data/spec/elasticsearch/api/actions/indices/put_mapping_spec.rb +21 -4
  257. data/spec/elasticsearch/api/actions/indices/put_settings_spec.rb +33 -1
  258. data/spec/elasticsearch/api/actions/indices/put_template_spec.rb +18 -1
  259. data/spec/elasticsearch/api/actions/indices/recovery_spec.rb +18 -1
  260. data/spec/elasticsearch/api/actions/indices/refresh_spec.rb +18 -1
  261. data/spec/elasticsearch/api/actions/indices/rollover_spec.rb +18 -1
  262. data/spec/elasticsearch/api/actions/indices/segments_spec.rb +18 -1
  263. data/spec/elasticsearch/api/actions/indices/shard_stores_spec.rb +18 -1
  264. data/spec/elasticsearch/api/actions/indices/shrink_spec.rb +18 -1
  265. data/spec/elasticsearch/api/actions/indices/split_spec.rb +18 -1
  266. data/spec/elasticsearch/api/actions/indices/stats_spec.rb +124 -0
  267. data/spec/elasticsearch/api/actions/indices/unfreeze_spec.rb +85 -0
  268. data/spec/elasticsearch/api/actions/indices/update_aliases_spec.rb +18 -1
  269. data/spec/elasticsearch/api/actions/indices/upgrade_spec.rb +18 -1
  270. data/spec/elasticsearch/api/actions/indices/validate_query_spec.rb +24 -13
  271. data/spec/elasticsearch/api/actions/info_spec.rb +19 -1
  272. data/spec/elasticsearch/api/actions/ingest/delete_pipeline_spec.rb +18 -1
  273. data/spec/elasticsearch/api/actions/ingest/get_pipeline_spec.rb +18 -1
  274. data/spec/elasticsearch/api/actions/ingest/put_pipeline_spec.rb +18 -1
  275. data/spec/elasticsearch/api/actions/ingest/simulate_spec.rb +23 -7
  276. data/spec/elasticsearch/api/actions/json_builders_spec.rb +27 -11
  277. data/spec/elasticsearch/api/actions/mget_spec.rb +22 -5
  278. data/spec/elasticsearch/api/actions/msearch_spec.rb +38 -39
  279. data/spec/elasticsearch/api/actions/msearch_template_spec.rb +22 -6
  280. data/spec/elasticsearch/api/actions/mtermvectors_spec.rb +24 -6
  281. data/spec/elasticsearch/api/actions/nodes/hot_threads_spec.rb +21 -4
  282. data/spec/elasticsearch/api/actions/nodes/info_spec.rb +18 -1
  283. data/spec/elasticsearch/api/actions/nodes/reload_secure_settings_spec.rb +24 -10
  284. data/spec/elasticsearch/api/actions/nodes/shutdown_spec.rb +17 -0
  285. data/spec/elasticsearch/api/actions/nodes/stats_spec.rb +18 -1
  286. data/spec/elasticsearch/api/actions/ping_spec.rb +20 -2
  287. data/spec/elasticsearch/api/actions/put_script_spec.rb +39 -15
  288. data/spec/elasticsearch/api/actions/reindex_spec.rb +20 -2
  289. data/spec/elasticsearch/api/actions/remote/info_spec.rb +17 -0
  290. data/spec/elasticsearch/api/actions/render_search_template_spec.rb +44 -9
  291. data/spec/elasticsearch/api/actions/scroll_spec.rb +52 -0
  292. data/spec/elasticsearch/api/actions/search_shards_spec.rb +20 -2
  293. data/spec/elasticsearch/api/actions/search_spec.rb +24 -6
  294. data/spec/elasticsearch/api/actions/search_template_spec.rb +22 -5
  295. data/spec/elasticsearch/api/actions/snapshot/clone_spec.rb +67 -0
  296. data/spec/elasticsearch/api/actions/snapshot/create_repository_spec.rb +18 -1
  297. data/spec/elasticsearch/api/actions/snapshot/create_spec.rb +18 -1
  298. data/spec/elasticsearch/api/actions/snapshot/delete_repository_spec.rb +18 -1
  299. data/spec/elasticsearch/api/actions/snapshot/delete_spec.rb +18 -1
  300. data/spec/elasticsearch/api/actions/snapshot/get_repository_spec.rb +18 -1
  301. data/spec/elasticsearch/api/actions/snapshot/get_spec.rb +18 -1
  302. data/spec/elasticsearch/api/actions/snapshot/restore_spec.rb +18 -1
  303. data/spec/elasticsearch/api/actions/snapshot/status_spec.rb +18 -1
  304. data/spec/elasticsearch/api/actions/snapshot/verify_repository_spec.rb +18 -1
  305. data/spec/elasticsearch/api/actions/tasks/cancel_spec.rb +18 -1
  306. data/spec/elasticsearch/api/actions/tasks/get_spec.rb +18 -1
  307. data/spec/elasticsearch/api/actions/tasks/list_spec.rb +18 -12
  308. data/spec/elasticsearch/api/actions/termvectors_spec.rb +22 -12
  309. data/spec/elasticsearch/api/actions/update_by_query_spec.rb +20 -2
  310. data/spec/elasticsearch/api/actions/update_document_spec.rb +22 -14
  311. data/spec/elasticsearch/api/api_spec.rb +17 -0
  312. data/spec/elasticsearch/api/client_spec.rb +17 -0
  313. data/spec/elasticsearch/api/rest_api_yaml_spec.rb +138 -0
  314. data/spec/elasticsearch/api/utils_spec.rb +18 -1
  315. data/spec/rest_yaml_tests_helper.rb +107 -0
  316. data/spec/spec_helper.rb +33 -34
  317. data/utils/Gemfile +18 -0
  318. data/utils/README.md +41 -0
  319. data/utils/Thorfile +4 -1
  320. data/utils/thor/.rubocop.yml +2 -0
  321. data/utils/thor/generate_source.rb +248 -81
  322. data/utils/thor/generator/endpoint_specifics.rb +181 -0
  323. data/utils/thor/generator/files_helper.rb +60 -0
  324. data/utils/thor/lister.rb +20 -4
  325. data/utils/thor/templates/_documentation_top.erb +39 -0
  326. data/utils/thor/templates/_method_setup.erb +35 -0
  327. data/utils/thor/templates/_params_registry.erb +12 -0
  328. data/utils/thor/templates/_perform_request.erb +38 -0
  329. data/utils/thor/templates/method.erb +73 -0
  330. data/utils/thor/templates/{ruby/test.erb → test.erb} +4 -0
  331. data/utils/thor/templates/{ruby/test_helper.rb → test_helper.rb} +17 -1
  332. metadata +123 -124
  333. data/LICENSE.txt +0 -13
  334. data/lib/elasticsearch/api/actions/count_percolate.rb +0 -82
  335. data/lib/elasticsearch/api/actions/delete_template.rb +0 -21
  336. data/lib/elasticsearch/api/actions/field_stats.rb +0 -36
  337. data/lib/elasticsearch/api/actions/get_template.rb +0 -27
  338. data/lib/elasticsearch/api/actions/indices/delete_mapping.rb +0 -26
  339. data/lib/elasticsearch/api/actions/indices/delete_warmer.rb +0 -32
  340. data/lib/elasticsearch/api/actions/indices/get_aliases.rb +0 -37
  341. data/lib/elasticsearch/api/actions/indices/get_warmer.rb +0 -62
  342. data/lib/elasticsearch/api/actions/indices/optimize.rb +0 -77
  343. data/lib/elasticsearch/api/actions/indices/put_warmer.rb +0 -65
  344. data/lib/elasticsearch/api/actions/indices/seal.rb +0 -24
  345. data/lib/elasticsearch/api/actions/indices/snapshot_index.rb +0 -44
  346. data/lib/elasticsearch/api/actions/indices/status.rb +0 -63
  347. data/lib/elasticsearch/api/actions/list_benchmarks.rb +0 -27
  348. data/lib/elasticsearch/api/actions/mlt.rb +0 -130
  349. data/lib/elasticsearch/api/actions/mpercolate.rb +0 -62
  350. data/lib/elasticsearch/api/actions/percolate.rb +0 -73
  351. data/lib/elasticsearch/api/actions/put_template.rb +0 -25
  352. data/lib/elasticsearch/api/actions/search_exists.rb +0 -63
  353. data/lib/elasticsearch/api/actions/suggest.rb +0 -49
  354. data/spec/elasticsearch/api/actions/count_percolate_spec.rb +0 -17
  355. data/spec/elasticsearch/api/actions/delete_template_spec.rb +0 -17
  356. data/spec/elasticsearch/api/actions/field_stats_spec.rb +0 -17
  357. data/spec/elasticsearch/api/actions/get_template_spec.rb +0 -52
  358. data/spec/elasticsearch/api/actions/indices/delete_mapping_spec.rb +0 -77
  359. data/spec/elasticsearch/api/actions/indices/delete_warmer_spec.rb +0 -86
  360. data/spec/elasticsearch/api/actions/indices/get_aliases_spec.rb +0 -55
  361. data/spec/elasticsearch/api/actions/indices/get_template_spec.rb +0 -59
  362. data/spec/elasticsearch/api/actions/indices/get_warmer_spec.rb +0 -48
  363. data/spec/elasticsearch/api/actions/indices/optimize_spec.rb +0 -63
  364. data/spec/elasticsearch/api/actions/indices/put_warmer_spec.rb +0 -101
  365. data/spec/elasticsearch/api/actions/indices/seal_spec.rb +0 -18
  366. data/spec/elasticsearch/api/actions/indices/snapshot_index_spec.rb +0 -89
  367. data/spec/elasticsearch/api/actions/indices/status_spec.rb +0 -92
  368. data/spec/elasticsearch/api/actions/list_benchmarks_spec.rb +0 -17
  369. data/spec/elasticsearch/api/actions/mlt_spec.rb +0 -130
  370. data/spec/elasticsearch/api/actions/mpercolate_spec.rb +0 -49
  371. data/spec/elasticsearch/api/actions/percolate_spec.rb +0 -67
  372. data/spec/elasticsearch/api/actions/put_template_spec.rb +0 -17
  373. data/spec/elasticsearch/api/actions/scoll_spec.rb +0 -17
  374. data/spec/elasticsearch/api/actions/search_exists_spec.rb +0 -63
  375. data/spec/elasticsearch/api/actions/suggest_spec.rb +0 -77
  376. data/test/integration/yaml_test_runner.rb +0 -546
  377. data/test/test_helper.rb +0 -42
  378. data/utils/thor/generate_api.rb +0 -189
  379. data/utils/thor/templates/ruby/method.erb +0 -60
@@ -1,17 +1,27 @@
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
+
1
18
  module Elasticsearch
2
19
  module API
3
20
  module Actions
4
-
5
- # Returns information and statistics about terms in the fields of multiple documents
6
- # in a single request/response. The semantics are similar to the {#mget} API.
7
- #
8
- # @example Return information about multiple documents in a specific index
9
- #
10
- # subject.mtermvectors index: 'my-index', type: 'my-type', body: { ids: [1, 2, 3] }
21
+ # Returns multiple termvectors in one request.
11
22
  #
12
23
  # @option arguments [String] :index The index in which the document resides.
13
24
  # @option arguments [String] :type The type of the document.
14
- # @option arguments [Hash] :body Define ids, documents, parameters or a list of parameters per document here. You must at least provide a list of document ids. See documentation.
15
25
  # @option arguments [List] :ids A comma-separated list of documents ids. You must define ids as parameter or set "ids" or "docs" in the request body
16
26
  # @option arguments [Boolean] :term_statistics Specifies if total term frequency and document frequency should be returned. Applies to all returned documents unless otherwise specified in body "params" or "docs".
17
27
  # @option arguments [Boolean] :field_statistics Specifies if document count, sum of document frequencies and sum of total term frequencies should be returned. Applies to all returned documents unless otherwise specified in body "params" or "docs".
@@ -21,24 +31,42 @@ module Elasticsearch
21
31
  # @option arguments [Boolean] :payloads Specifies if term payloads should be returned. Applies to all returned documents unless otherwise specified in body "params" or "docs".
22
32
  # @option arguments [String] :preference Specify the node or shard the operation should be performed on (default: random) .Applies to all returned documents unless otherwise specified in body "params" or "docs".
23
33
  # @option arguments [String] :routing Specific routing value. Applies to all returned documents unless otherwise specified in body "params" or "docs".
24
- # @option arguments [String] :parent Parent id of documents. Applies to all returned documents unless otherwise specified in body "params" or "docs".
25
34
  # @option arguments [Boolean] :realtime Specifies if requests are real-time as opposed to near-real-time (default: true).
26
35
  # @option arguments [Number] :version Explicit version number for concurrency control
27
36
  # @option arguments [String] :version_type Specific version type (options: internal, external, external_gte, force)
37
+ # @option arguments [Hash] :headers Custom HTTP headers
38
+ # @option arguments [Hash] :body Define ids, documents, parameters or a list of parameters per document here. You must at least provide a list of document ids. See documentation.
28
39
  #
29
- # @see http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/docs-multi-termvectors.html
40
+ # *Deprecation notice*:
41
+ # Specifying types in urls has been deprecated
42
+ # Deprecated since version 7.0.0
30
43
  #
31
- # @see #mget
32
- # @see #termvector
33
44
  #
34
- def mtermvectors(arguments={})
45
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.10/docs-multi-termvectors.html
46
+ #
47
+ def mtermvectors(arguments = {})
48
+ headers = arguments.delete(:headers) || {}
49
+
50
+ arguments = arguments.clone
35
51
  ids = arguments.delete(:ids)
36
52
 
37
- method = HTTP_GET
38
- path = Utils.__pathify Utils.__escape(arguments[:index]),
39
- Utils.__escape(arguments[:type]),
40
- '_mtermvectors'
53
+ _index = arguments.delete(:index)
54
+
55
+ _type = arguments.delete(:type)
41
56
 
57
+ method = if arguments[:body]
58
+ Elasticsearch::API::HTTP_POST
59
+ else
60
+ Elasticsearch::API::HTTP_GET
61
+ end
62
+
63
+ path = if _index && _type
64
+ "#{Utils.__listify(_index)}/#{Utils.__listify(_type)}/_mtermvectors"
65
+ elsif _index
66
+ "#{Utils.__listify(_index)}/_mtermvectors"
67
+ else
68
+ "_mtermvectors"
69
+ end
42
70
  params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
43
71
 
44
72
  if ids
@@ -46,27 +74,26 @@ module Elasticsearch
46
74
  else
47
75
  body = arguments[:body]
48
76
  end
49
-
50
- perform_request(method, path, params, body).body
77
+ perform_request(method, path, params, body, headers).body
51
78
  end
52
79
 
53
80
  # Register this action with its valid params when the module is loaded.
54
81
  #
55
82
  # @since 6.2.0
56
83
  ParamsRegistry.register(:mtermvectors, [
57
- :ids,
58
- :term_statistics,
59
- :field_statistics,
60
- :fields,
61
- :offsets,
62
- :positions,
63
- :payloads,
64
- :preference,
65
- :routing,
66
- :parent,
67
- :realtime,
68
- :version,
69
- :version_type ].freeze)
84
+ :ids,
85
+ :term_statistics,
86
+ :field_statistics,
87
+ :fields,
88
+ :offsets,
89
+ :positions,
90
+ :payloads,
91
+ :preference,
92
+ :routing,
93
+ :realtime,
94
+ :version,
95
+ :version_type
96
+ ].freeze)
70
97
  end
71
98
  end
72
99
  end
@@ -1,17 +1,25 @@
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
+
1
18
  module Elasticsearch
2
19
  module API
3
20
  module Nodes
4
21
  module Actions
5
-
6
- # Returns information about the hottest threads in the cluster or on a specific node as a String.
7
- #
8
- #
9
- # The information is returned as text, and allows you to understand what are currently
10
- # the most taxing operations happening in the cluster, for debugging or monitoring purposes.
11
- #
12
- # @example Return 10 hottest threads
13
- #
14
- # client.nodes.hot_threads threads: 10
22
+ # Returns information about hot threads on each node in the cluster.
15
23
  #
16
24
  # @option arguments [List] :node_id A comma-separated list of node IDs or names to limit the returned information; use `_local` to return information from the node you're connecting to, leave empty to get information from all nodes
17
25
  # @option arguments [Time] :interval The interval for the second sampling of threads
@@ -20,29 +28,45 @@ module Elasticsearch
20
28
  # @option arguments [Boolean] :ignore_idle_threads Don't show threads that are in known-idle places, such as waiting on a socket select or pulling from an empty task queue (default: true)
21
29
  # @option arguments [String] :type The type to sample (default: cpu) (options: cpu, wait, block)
22
30
  # @option arguments [Time] :timeout Explicit operation timeout
31
+ # @option arguments [Hash] :headers Custom HTTP headers
23
32
  #
24
- # @see http://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-hot-threads.html
33
+ # *Deprecation notice*:
34
+ # The hot accepts /_cluster/nodes as prefix for backwards compatibility reasons
35
+ # Deprecated since version 7.0.0
25
36
  #
26
- def hot_threads(arguments={})
27
- method = HTTP_GET
28
- path = Utils.__pathify '_nodes', Utils.__listify(arguments[:node_id]), 'hot_threads'
37
+ #
38
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.10/cluster-nodes-hot-threads.html
39
+ #
40
+ def hot_threads(arguments = {})
41
+ headers = arguments.delete(:headers) || {}
42
+
43
+ arguments = arguments.clone
29
44
 
45
+ _node_id = arguments.delete(:node_id)
46
+
47
+ method = Elasticsearch::API::HTTP_GET
48
+ path = if _node_id
49
+ "_cluster/nodes/#{Utils.__listify(_node_id)}/hot_threads"
50
+ else
51
+ "_cluster/nodes/hot_threads"
52
+ end
30
53
  params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
31
- body = nil
32
54
 
33
- perform_request(method, path, params, body).body
55
+ body = nil
56
+ perform_request(method, path, params, body, headers).body
34
57
  end
35
58
 
36
59
  # Register this action with its valid params when the module is loaded.
37
60
  #
38
61
  # @since 6.2.0
39
62
  ParamsRegistry.register(:hot_threads, [
40
- :interval,
41
- :snapshots,
42
- :threads,
43
- :ignore_idle_threads,
44
- :type,
45
- :timeout ].freeze)
63
+ :interval,
64
+ :snapshots,
65
+ :threads,
66
+ :ignore_idle_threads,
67
+ :type,
68
+ :timeout
69
+ ].freeze)
46
70
  end
47
71
  end
48
72
  end
@@ -1,63 +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
+
1
18
  module Elasticsearch
2
19
  module API
3
20
  module Nodes
4
21
  module Actions
5
-
6
- # Returns information about nodes in the cluster (cluster settings, JVM version, etc).
7
- #
8
- # Use the `all` option to return all available settings, or limit the information returned
9
- # to a specific type (eg. `http`).
10
- #
11
- # Use the `node_id` option to limit information to specific node(s).
12
- #
13
- # @example Return information about JVM
14
- #
15
- # client.nodes.info jvm: true
16
- #
17
- # @example Return information about HTTP and network
18
- #
19
- # client.nodes.info http: true, network: true
20
- #
21
- # @example Pass a list of metrics
22
- #
23
- # client.nodes.info metric: ['http', 'network']
22
+ # Returns information about nodes in the cluster.
24
23
  #
25
24
  # @option arguments [List] :node_id A comma-separated list of node IDs or names to limit the returned information; use `_local` to return information from the node you're connecting to, leave empty to get information from all nodes
26
- # @option arguments [List] :metric A comma-separated list of metrics you wish returned. Leave empty to return all. (options: settings,os,process,jvm,thread_pool,transport,http,plugins,ingest)
25
+ # @option arguments [List] :metric A comma-separated list of metrics you wish returned. Leave empty to return all. (options: settings, os, process, jvm, thread_pool, transport, http, plugins, ingest)
27
26
  # @option arguments [Boolean] :flat_settings Return settings in flat format (default: false)
28
27
  # @option arguments [Time] :timeout Explicit operation timeout
28
+ # @option arguments [Hash] :headers Custom HTTP headers
29
29
  #
30
- # @see http://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-info.html
30
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.10/cluster-nodes-info.html
31
31
  #
32
- def info(arguments={})
32
+ def info(arguments = {})
33
+ headers = arguments.delete(:headers) || {}
34
+
33
35
  arguments = arguments.clone
34
- metric = arguments.delete(:metric)
35
- method = HTTP_GET
36
- if metric
37
- parts = metric
38
- else
39
- parts = Utils.__extract_parts arguments, ParamsRegistry.get(:info_parts)
40
- end
41
36
 
42
- path = Utils.__pathify '_nodes', Utils.__listify(arguments[:node_id]), Utils.__listify(parts)
37
+ _node_id = arguments.delete(:node_id)
43
38
 
44
- params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(:info_params)
45
- body = nil
39
+ _metric = arguments.delete(:metric)
46
40
 
47
- perform_request(method, path, params, body).body
48
- end
41
+ method = Elasticsearch::API::HTTP_GET
42
+ path = if _node_id && _metric
43
+ "_nodes/#{Utils.__listify(_node_id)}/#{Utils.__listify(_metric)}"
44
+ elsif _node_id
45
+ "_nodes/#{Utils.__listify(_node_id)}"
46
+ elsif _metric
47
+ "_nodes/#{Utils.__listify(_metric)}"
48
+ else
49
+ "_nodes"
50
+ end
51
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
49
52
 
50
- # Register this action with its valid params when the module is loaded.
51
- #
52
- # @since 6.2.0
53
- ParamsRegistry.register(:info_params, [ :flat_settings, :timeout ].freeze)
53
+ body = nil
54
+ perform_request(method, path, params, body, headers).body
55
+ end
54
56
 
55
57
  # Register this action with its valid params when the module is loaded.
56
58
  #
57
59
  # @since 6.2.0
58
60
  ParamsRegistry.register(:info, [
59
- :flat_settings,
60
- :timeout ].freeze)
61
+ :flat_settings,
62
+ :timeout
63
+ ].freeze)
61
64
  end
62
65
  end
63
66
  end
@@ -1,14 +1,30 @@
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
+
1
18
  module Elasticsearch
2
19
  module API
3
20
  module Nodes
4
21
  module Actions
5
22
  module ParamsRegistry
6
-
7
23
  extend self
8
24
 
9
25
  # A Mapping of all the actions to their list of valid params.
10
26
  #
11
- # @since 6.2.0
27
+ # @since 6.1.1
12
28
  PARAMS = {}
13
29
 
14
30
  # Register an action with its list of valid params.
@@ -19,7 +35,7 @@ module Elasticsearch
19
35
  # @param [ Symbol ] action The action to register.
20
36
  # @param [ Array[Symbol] ] valid_params The list of valid params.
21
37
  #
22
- # @since 6.2.0
38
+ # @since 6.1.1
23
39
  def register(action, valid_params)
24
40
  PARAMS[action.to_sym] = valid_params
25
41
  end
@@ -33,7 +49,7 @@ module Elasticsearch
33
49
  #
34
50
  # @return [ Array<Symbol> ] The list of valid params for the action.
35
51
  #
36
- # @since 6.2.0
52
+ # @since 6.1.1
37
53
  def get(action)
38
54
  PARAMS.fetch(action, [])
39
55
  end
@@ -1,42 +1,58 @@
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
+
1
18
  module Elasticsearch
2
19
  module API
3
20
  module Nodes
4
21
  module Actions
5
-
6
- # Re-read the local node's encrypted keystore. Specifically, it will prompt the keystore
7
- # decryption and reading across the cluster.
8
- #
9
- # @example Reload secure settings for all nodes
10
- #
11
- # client.nodes.reload_secure_settings
12
- #
13
- # @example Reload secure settings for a list of nodes
14
- #
15
- # client.nodes.reload_secure_settings(node_id: 'foo,bar')
22
+ # Reloads secure settings.
16
23
  #
17
24
  # @option arguments [List] :node_id A comma-separated list of node IDs to span the reload/reinit call. Should stay empty because reloading usually involves all cluster nodes.
18
25
  # @option arguments [Time] :timeout Explicit operation timeout
26
+ # @option arguments [Hash] :headers Custom HTTP headers
27
+ # @option arguments [Hash] :body An object containing the password for the elasticsearch keystore
19
28
  #
20
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/6.x/secure-settings.html#reloadable-secure-settings
29
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.10/secure-settings.html#reloadable-secure-settings
21
30
  #
22
- def reload_secure_settings(arguments={})
23
- valid_params = [
24
- :timeout ]
31
+ def reload_secure_settings(arguments = {})
32
+ headers = arguments.delete(:headers) || {}
33
+
34
+ arguments = arguments.clone
25
35
 
26
- method = HTTP_POST
27
- path = Utils.__pathify '_nodes', Utils.__listify(arguments[:node_id]), 'reload_secure_settings'
36
+ _node_id = arguments.delete(:node_id)
28
37
 
29
- params = Utils.__validate_and_extract_params arguments, valid_params
30
- body = nil
38
+ method = Elasticsearch::API::HTTP_POST
39
+ path = if _node_id
40
+ "_nodes/#{Utils.__listify(_node_id)}/reload_secure_settings"
41
+ else
42
+ "_nodes/reload_secure_settings"
43
+ end
44
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
31
45
 
32
- perform_request(method, path, params, body).body
46
+ body = arguments[:body]
47
+ perform_request(method, path, params, body, headers).body
33
48
  end
34
49
 
35
50
  # Register this action with its valid params when the module is loaded.
36
51
  #
37
52
  # @since 6.2.0
38
53
  ParamsRegistry.register(:reload_secure_settings, [
39
- :timeout ].freeze)
54
+ :timeout
55
+ ].freeze)
40
56
  end
41
57
  end
42
58
  end
@@ -1,8 +1,24 @@
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
+
1
18
  module Elasticsearch
2
19
  module API
3
20
  module Nodes
4
21
  module Actions
5
-
6
22
  # Shutdown one or all nodes
7
23
  #
8
24
  # @example Shut down node named _Bloke_
@@ -17,7 +33,7 @@ module Elasticsearch
17
33
  #
18
34
  # @see http://elasticsearch.org/guide/reference/api/admin-cluster-nodes-shutdown/
19
35
  #
20
- def shutdown(arguments={})
36
+ def shutdown(arguments = {})
21
37
  method = HTTP_POST
22
38
  path = Utils.__pathify '_cluster/nodes', Utils.__listify(arguments[:node_id]), '_shutdown'
23
39
 
@@ -29,10 +45,11 @@ module Elasticsearch
29
45
 
30
46
  # Register this action with its valid params when the module is loaded.
31
47
  #
32
- # @since 6.2.0
48
+ # @since 6.1.1
33
49
  ParamsRegistry.register(:shutdown, [
34
- :delay,
35
- :exit ].freeze)
50
+ :delay,
51
+ :exit
52
+ ].freeze)
36
53
  end
37
54
  end
38
55
  end
@@ -1,21 +1,29 @@
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
+
1
18
  module Elasticsearch
2
19
  module API
3
20
  module Nodes
4
21
  module Actions
5
-
6
22
  # Returns statistical information about nodes in the cluster.
7
23
  #
8
- # @example Return statistics about JVM
9
- #
10
- # client.nodes.stats metric: 'jvm'
11
- #
12
- # @example Return statistics about field data structures for all fields
13
- #
14
- # client.nodes.stats metric: 'indices', index_metric: 'fielddata', fields: '*', human: true
15
- #
16
- # @option arguments [List] :metric Limit the information returned to the specified metrics (options: _all,breaker,fs,http,indices,jvm,os,process,thread_pool,transport,discovery)
17
- # @option arguments [List] :index_metric Limit the information returned for `indices` metric to the specific index metrics. Isn't used if `indices` (or `all`) metric isn't specified. (options: _all,completion,docs,fielddata,query_cache,flush,get,indexing,merge,request_cache,refresh,search,segments,store,warmer,suggest)
18
24
  # @option arguments [List] :node_id A comma-separated list of node IDs or names to limit the returned information; use `_local` to return information from the node you're connecting to, leave empty to get information from all nodes
25
+ # @option arguments [List] :metric Limit the information returned to the specified metrics (options: _all, breaker, fs, http, indices, jvm, os, process, thread_pool, transport, discovery, indexing_pressure)
26
+ # @option arguments [List] :index_metric Limit the information returned for `indices` metric to the specific index metrics. Isn't used if `indices` (or `all`) metric isn't specified. (options: _all, completion, docs, fielddata, query_cache, flush, get, indexing, merge, request_cache, refresh, search, segments, store, warmer, suggest)
19
27
  # @option arguments [List] :completion_fields A comma-separated list of fields for `fielddata` and `suggest` index metric (supports wildcards)
20
28
  # @option arguments [List] :fielddata_fields A comma-separated list of fields for `fielddata` index metric (supports wildcards)
21
29
  # @option arguments [List] :fields A comma-separated list of fields for `fielddata` and `completion` index metric (supports wildcards)
@@ -24,42 +32,54 @@ module Elasticsearch
24
32
  # @option arguments [List] :types A comma-separated list of document types for the `indexing` index metric
25
33
  # @option arguments [Time] :timeout Explicit operation timeout
26
34
  # @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)
35
+ # @option arguments [Hash] :headers Custom HTTP headers
27
36
  #
28
- # @see http://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-stats.html
37
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.10/cluster-nodes-stats.html
29
38
  #
30
- def stats(arguments={})
39
+ def stats(arguments = {})
40
+ headers = arguments.delete(:headers) || {}
41
+
31
42
  arguments = arguments.clone
32
- node_id = arguments.delete(:node_id)
33
43
 
34
- path = Utils.__pathify '_nodes',
35
- Utils.__listify(node_id),
36
- 'stats',
37
- Utils.__listify(arguments.delete(:metric)),
38
- Utils.__listify(arguments.delete(:index_metric))
44
+ _node_id = arguments.delete(:node_id)
39
45
 
40
- params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
46
+ _metric = arguments.delete(:metric)
41
47
 
42
- [:completion_fields, :fielddata_fields, :fields, :groups, :types].each do |key|
43
- params[key] = Utils.__listify(params[key]) if params[key]
44
- end
48
+ _index_metric = arguments.delete(:index_metric)
45
49
 
46
- body = nil
50
+ method = Elasticsearch::API::HTTP_GET
51
+ path = if _node_id && _metric && _index_metric
52
+ "_nodes/#{Utils.__listify(_node_id)}/stats/#{Utils.__listify(_metric)}/#{Utils.__listify(_index_metric)}"
53
+ elsif _metric && _index_metric
54
+ "_nodes/stats/#{Utils.__listify(_metric)}/#{Utils.__listify(_index_metric)}"
55
+ elsif _node_id && _metric
56
+ "_nodes/#{Utils.__listify(_node_id)}/stats/#{Utils.__listify(_metric)}"
57
+ elsif _node_id
58
+ "_nodes/#{Utils.__listify(_node_id)}/stats"
59
+ elsif _metric
60
+ "_nodes/stats/#{Utils.__listify(_metric)}"
61
+ else
62
+ "_nodes/stats"
63
+ end
64
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
47
65
 
48
- perform_request(HTTP_GET, path, params, body).body
66
+ body = nil
67
+ perform_request(method, path, params, body, headers).body
49
68
  end
50
69
 
51
70
  # Register this action with its valid params when the module is loaded.
52
71
  #
53
72
  # @since 6.2.0
54
73
  ParamsRegistry.register(:stats, [
55
- :completion_fields,
56
- :fielddata_fields,
57
- :fields,
58
- :groups,
59
- :level,
60
- :types,
61
- :timeout,
62
- :include_segment_file_sizes ].freeze)
74
+ :completion_fields,
75
+ :fielddata_fields,
76
+ :fields,
77
+ :groups,
78
+ :level,
79
+ :types,
80
+ :timeout,
81
+ :include_segment_file_sizes
82
+ ].freeze)
63
83
  end
64
84
  end
65
85
  end