elasticsearch-api 6.1.0 → 6.2.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 (435) hide show
  1. checksums.yaml +5 -5
  2. data/Gemfile +6 -0
  3. data/Rakefile +14 -2
  4. data/elasticsearch-api.gemspec +2 -2
  5. data/lib/elasticsearch/api.rb +2 -0
  6. data/lib/elasticsearch/api/actions/benchmark.rb +6 -3
  7. data/lib/elasticsearch/api/actions/bulk.rb +21 -14
  8. data/lib/elasticsearch/api/actions/cat/aliases.rb +12 -14
  9. data/lib/elasticsearch/api/actions/cat/allocation.rb +13 -15
  10. data/lib/elasticsearch/api/actions/cat/count.rb +12 -9
  11. data/lib/elasticsearch/api/actions/cat/fielddata.rb +14 -11
  12. data/lib/elasticsearch/api/actions/cat/health.rb +13 -10
  13. data/lib/elasticsearch/api/actions/cat/help.rb +7 -3
  14. data/lib/elasticsearch/api/actions/cat/indices.rb +15 -13
  15. data/lib/elasticsearch/api/actions/cat/master.rb +12 -9
  16. data/lib/elasticsearch/api/actions/cat/nodeattrs.rb +12 -8
  17. data/lib/elasticsearch/api/actions/cat/nodes.rb +13 -10
  18. data/lib/elasticsearch/api/actions/cat/params_registry.rb +44 -0
  19. data/lib/elasticsearch/api/actions/cat/pending_tasks.rb +12 -9
  20. data/lib/elasticsearch/api/actions/cat/plugins.rb +12 -8
  21. data/lib/elasticsearch/api/actions/cat/recovery.rb +13 -10
  22. data/lib/elasticsearch/api/actions/cat/repositories.rb +11 -8
  23. data/lib/elasticsearch/api/actions/cat/segments.rb +12 -8
  24. data/lib/elasticsearch/api/actions/cat/shards.rb +13 -12
  25. data/lib/elasticsearch/api/actions/cat/snapshots.rb +11 -9
  26. data/lib/elasticsearch/api/actions/cat/tasks.rb +13 -9
  27. data/lib/elasticsearch/api/actions/cat/templates.rb +13 -9
  28. data/lib/elasticsearch/api/actions/cat/thread_pool.rb +14 -11
  29. data/lib/elasticsearch/api/actions/cluster/allocation_explain.rb +8 -4
  30. data/lib/elasticsearch/api/actions/cluster/get_settings.rb +8 -6
  31. data/lib/elasticsearch/api/actions/cluster/health.rb +13 -11
  32. data/lib/elasticsearch/api/actions/cluster/params_registry.rb +44 -0
  33. data/lib/elasticsearch/api/actions/cluster/pending_tasks.rb +8 -4
  34. data/lib/elasticsearch/api/actions/cluster/put_settings.rb +6 -3
  35. data/lib/elasticsearch/api/actions/cluster/reroute.rb +12 -3
  36. data/lib/elasticsearch/api/actions/cluster/state.rb +14 -14
  37. data/lib/elasticsearch/api/actions/cluster/stats.rb +9 -5
  38. data/lib/elasticsearch/api/actions/count.rb +14 -11
  39. data/lib/elasticsearch/api/actions/count_percolate.rb +15 -11
  40. data/lib/elasticsearch/api/actions/delete.rb +14 -11
  41. data/lib/elasticsearch/api/actions/delete_by_query.rb +17 -13
  42. data/lib/elasticsearch/api/actions/delete_script.rb +10 -9
  43. data/lib/elasticsearch/api/actions/exists.rb +19 -16
  44. data/lib/elasticsearch/api/actions/explain.rb +20 -16
  45. data/lib/elasticsearch/api/actions/field_caps.rb +10 -8
  46. data/lib/elasticsearch/api/actions/field_stats.rb +11 -7
  47. data/lib/elasticsearch/api/actions/get.rb +21 -17
  48. data/lib/elasticsearch/api/actions/get_script.rb +2 -3
  49. data/lib/elasticsearch/api/actions/get_source.rb +17 -13
  50. data/lib/elasticsearch/api/actions/get_template.rb +1 -1
  51. data/lib/elasticsearch/api/actions/index.rb +17 -13
  52. data/lib/elasticsearch/api/actions/indices/analyze.rb +22 -22
  53. data/lib/elasticsearch/api/actions/indices/clear_cache.rb +16 -13
  54. data/lib/elasticsearch/api/actions/indices/close.rb +11 -10
  55. data/lib/elasticsearch/api/actions/indices/create.rb +10 -8
  56. data/lib/elasticsearch/api/actions/indices/delete.rb +11 -9
  57. data/lib/elasticsearch/api/actions/indices/delete_alias.rb +6 -3
  58. data/lib/elasticsearch/api/actions/indices/delete_template.rb +6 -3
  59. data/lib/elasticsearch/api/actions/indices/exists.rb +11 -11
  60. data/lib/elasticsearch/api/actions/indices/exists_alias.rb +11 -10
  61. data/lib/elasticsearch/api/actions/indices/exists_template.rb +6 -4
  62. data/lib/elasticsearch/api/actions/indices/exists_type.rb +11 -10
  63. data/lib/elasticsearch/api/actions/indices/flush.rb +11 -8
  64. data/lib/elasticsearch/api/actions/indices/flush_synced.rb +9 -7
  65. data/lib/elasticsearch/api/actions/indices/forcemerge.rb +9 -7
  66. data/lib/elasticsearch/api/actions/indices/freeze.rb +40 -0
  67. data/lib/elasticsearch/api/actions/indices/get.rb +13 -11
  68. data/lib/elasticsearch/api/actions/indices/get_alias.rb +11 -9
  69. data/lib/elasticsearch/api/actions/indices/get_aliases.rb +6 -3
  70. data/lib/elasticsearch/api/actions/indices/get_field_mapping.rb +11 -11
  71. data/lib/elasticsearch/api/actions/indices/get_mapping.rb +11 -9
  72. data/lib/elasticsearch/api/actions/indices/get_settings.rb +14 -12
  73. data/lib/elasticsearch/api/actions/indices/get_template.rb +6 -3
  74. data/lib/elasticsearch/api/actions/indices/get_warmer.rb +11 -9
  75. data/lib/elasticsearch/api/actions/indices/open.rb +12 -11
  76. data/lib/elasticsearch/api/actions/indices/optimize.rb +14 -11
  77. data/lib/elasticsearch/api/actions/indices/params_registry.rb +44 -0
  78. data/lib/elasticsearch/api/actions/indices/put_alias.rb +6 -3
  79. data/lib/elasticsearch/api/actions/indices/put_mapping.rb +13 -12
  80. data/lib/elasticsearch/api/actions/indices/put_settings.rb +12 -11
  81. data/lib/elasticsearch/api/actions/indices/put_template.rb +6 -3
  82. data/lib/elasticsearch/api/actions/indices/put_warmer.rb +10 -9
  83. data/lib/elasticsearch/api/actions/indices/recovery.rb +9 -5
  84. data/lib/elasticsearch/api/actions/indices/refresh.rb +10 -8
  85. data/lib/elasticsearch/api/actions/indices/rollover.rb +10 -10
  86. data/lib/elasticsearch/api/actions/indices/segments.rb +11 -9
  87. data/lib/elasticsearch/api/actions/indices/shard_stores.rb +11 -7
  88. data/lib/elasticsearch/api/actions/indices/shrink.rb +10 -10
  89. data/lib/elasticsearch/api/actions/indices/snapshot_index.rb +10 -9
  90. data/lib/elasticsearch/api/actions/indices/split.rb +16 -7
  91. data/lib/elasticsearch/api/actions/indices/stats.rb +34 -29
  92. data/lib/elasticsearch/api/actions/indices/status.rb +12 -9
  93. data/lib/elasticsearch/api/actions/indices/unfreeze.rb +39 -0
  94. data/lib/elasticsearch/api/actions/indices/update_aliases.rb +6 -3
  95. data/lib/elasticsearch/api/actions/indices/upgrade.rb +10 -7
  96. data/lib/elasticsearch/api/actions/indices/validate_query.rb +16 -13
  97. data/lib/elasticsearch/api/actions/ingest/delete_pipeline.rb +8 -4
  98. data/lib/elasticsearch/api/actions/ingest/get_pipeline.rb +6 -3
  99. data/lib/elasticsearch/api/actions/ingest/params_registry.rb +44 -0
  100. data/lib/elasticsearch/api/actions/ingest/put_pipeline.rb +8 -4
  101. data/lib/elasticsearch/api/actions/ingest/simulate.rb +6 -3
  102. data/lib/elasticsearch/api/actions/mget.rb +18 -14
  103. data/lib/elasticsearch/api/actions/mlt.rb +21 -19
  104. data/lib/elasticsearch/api/actions/mpercolate.rb +10 -7
  105. data/lib/elasticsearch/api/actions/msearch.rb +13 -9
  106. data/lib/elasticsearch/api/actions/msearch_template.rb +6 -3
  107. data/lib/elasticsearch/api/actions/mtermvectors.rb +17 -14
  108. data/lib/elasticsearch/api/actions/nodes/hot_threads.rb +11 -8
  109. data/lib/elasticsearch/api/actions/nodes/info.rb +23 -19
  110. data/lib/elasticsearch/api/actions/nodes/params_registry.rb +44 -0
  111. data/lib/elasticsearch/api/actions/nodes/reload_secure_settings.rb +37 -0
  112. data/lib/elasticsearch/api/actions/nodes/shutdown.rb +8 -5
  113. data/lib/elasticsearch/api/actions/nodes/stats.rb +18 -16
  114. data/lib/elasticsearch/api/actions/params_registry.rb +42 -0
  115. data/lib/elasticsearch/api/actions/percolate.rb +16 -14
  116. data/lib/elasticsearch/api/actions/put_script.rb +11 -10
  117. data/lib/elasticsearch/api/actions/put_template.rb +2 -2
  118. data/lib/elasticsearch/api/actions/reindex.rb +12 -8
  119. data/lib/elasticsearch/api/actions/render_search_template.rb +7 -4
  120. data/lib/elasticsearch/api/actions/scroll.rb +9 -5
  121. data/lib/elasticsearch/api/actions/search.rb +24 -18
  122. data/lib/elasticsearch/api/actions/search_exists.rb +13 -9
  123. data/lib/elasticsearch/api/actions/search_shards.rb +12 -8
  124. data/lib/elasticsearch/api/actions/search_template.rb +13 -9
  125. data/lib/elasticsearch/api/actions/snapshot/create.rb +8 -5
  126. data/lib/elasticsearch/api/actions/snapshot/create_repository.rb +9 -6
  127. data/lib/elasticsearch/api/actions/snapshot/delete.rb +6 -5
  128. data/lib/elasticsearch/api/actions/snapshot/delete_repository.rb +8 -6
  129. data/lib/elasticsearch/api/actions/snapshot/get.rb +9 -7
  130. data/lib/elasticsearch/api/actions/snapshot/get_repository.rb +8 -6
  131. data/lib/elasticsearch/api/actions/snapshot/params_registry.rb +44 -0
  132. data/lib/elasticsearch/api/actions/snapshot/restore.rb +8 -6
  133. data/lib/elasticsearch/api/actions/snapshot/status.rb +8 -5
  134. data/lib/elasticsearch/api/actions/snapshot/verify_repository.rb +9 -7
  135. data/lib/elasticsearch/api/actions/suggest.rb +10 -7
  136. data/lib/elasticsearch/api/actions/tasks/cancel.rb +10 -8
  137. data/lib/elasticsearch/api/actions/tasks/get.rb +6 -5
  138. data/lib/elasticsearch/api/actions/tasks/list.rb +13 -11
  139. data/lib/elasticsearch/api/actions/tasks/params_registry.rb +44 -0
  140. data/lib/elasticsearch/api/actions/termvectors.rb +16 -14
  141. data/lib/elasticsearch/api/actions/update.rb +24 -20
  142. data/lib/elasticsearch/api/actions/update_by_query.rb +19 -15
  143. data/lib/elasticsearch/api/version.rb +1 -1
  144. data/spec/elasticsearch/api/actions/abort_benchmark_spec.rb +17 -0
  145. data/spec/elasticsearch/api/actions/benchmark_spec.rb +17 -0
  146. data/spec/elasticsearch/api/actions/bulk_spec.rb +122 -0
  147. data/spec/elasticsearch/api/actions/cat/aliases_spec.rb +18 -0
  148. data/spec/elasticsearch/api/actions/cat/allocation_spec.rb +18 -0
  149. data/spec/elasticsearch/api/actions/cat/count_spec.rb +18 -0
  150. data/spec/elasticsearch/api/actions/cat/fielddata_spec.rb +35 -0
  151. data/spec/elasticsearch/api/actions/cat/health_spec.rb +18 -0
  152. data/spec/elasticsearch/api/actions/cat/help_spec.rb +18 -0
  153. data/spec/elasticsearch/api/actions/cat/indices_spec.rb +18 -0
  154. data/spec/elasticsearch/api/actions/cat/master_spec.rb +18 -0
  155. data/spec/elasticsearch/api/actions/cat/nodeattrs_spec.rb +18 -0
  156. data/spec/elasticsearch/api/actions/cat/nodes_spec.rb +18 -0
  157. data/spec/elasticsearch/api/actions/cat/pending_tasks_spec.rb +18 -0
  158. data/spec/elasticsearch/api/actions/cat/plugins_spec.rb +18 -0
  159. data/spec/elasticsearch/api/actions/cat/recovery_spec.rb +18 -0
  160. data/spec/elasticsearch/api/actions/cat/repositories_spec.rb +18 -0
  161. data/spec/elasticsearch/api/actions/cat/segments_spec.rb +18 -0
  162. data/spec/elasticsearch/api/actions/cat/shards_spec.rb +18 -0
  163. data/spec/elasticsearch/api/actions/cat/snapshot_spec.rb +18 -0
  164. data/spec/elasticsearch/api/actions/cat/tasks_spec.rb +18 -0
  165. data/spec/elasticsearch/api/actions/cat/templates_spec.rb +18 -0
  166. data/spec/elasticsearch/api/actions/cat/thread_pool_spec.rb +18 -0
  167. data/spec/elasticsearch/api/actions/clear_scroll_spec.rb +33 -0
  168. data/spec/elasticsearch/api/actions/cluster/allocation_explain_spec.rb +18 -0
  169. data/spec/elasticsearch/api/actions/cluster/get_settings_spec.rb +18 -0
  170. data/spec/elasticsearch/api/actions/cluster/health_spec.rb +52 -0
  171. data/spec/elasticsearch/api/actions/cluster/pending_tasks_spec.rb +18 -0
  172. data/spec/elasticsearch/api/actions/cluster/put_settings_spec.rb +18 -0
  173. data/spec/elasticsearch/api/actions/cluster/remote_info_spec.rb +18 -0
  174. data/spec/elasticsearch/api/actions/cluster/reroute_spec.rb +35 -0
  175. data/spec/elasticsearch/api/actions/cluster/state_spec.rb +52 -0
  176. data/spec/elasticsearch/api/actions/cluster/stats_spec.rb +18 -0
  177. data/spec/elasticsearch/api/actions/count_percolate_spec.rb +17 -0
  178. data/spec/elasticsearch/api/actions/count_spec.rb +49 -0
  179. data/spec/elasticsearch/api/actions/create_document_spec.rb +65 -0
  180. data/spec/elasticsearch/api/actions/delete_by_query_spec.rb +55 -0
  181. data/spec/elasticsearch/api/actions/delete_document_spec.rb +99 -0
  182. data/spec/elasticsearch/api/actions/delete_script_spec.rb +33 -0
  183. data/spec/elasticsearch/api/actions/delete_template_spec.rb +17 -0
  184. data/spec/elasticsearch/api/actions/exists_document_spec.rb +109 -0
  185. data/spec/elasticsearch/api/actions/explain_document_spec.rb +88 -0
  186. data/spec/elasticsearch/api/actions/field_caps_spec.rb +17 -0
  187. data/spec/elasticsearch/api/actions/field_stats_spec.rb +17 -0
  188. data/spec/elasticsearch/api/actions/get_document_source_spec.rb +81 -0
  189. data/spec/elasticsearch/api/actions/get_document_spec.rb +106 -0
  190. data/spec/elasticsearch/api/actions/get_script_spec.rb +39 -0
  191. data/spec/elasticsearch/api/actions/get_template_spec.rb +52 -0
  192. data/{test/unit/hashie_test.rb → spec/elasticsearch/api/actions/hashie_spec.rb} +12 -18
  193. data/spec/elasticsearch/api/actions/index_document_spec.rb +134 -0
  194. data/spec/elasticsearch/api/actions/indices/analyze_spec.rb +93 -0
  195. data/spec/elasticsearch/api/actions/indices/clear_cache_spec.rb +67 -0
  196. data/spec/elasticsearch/api/actions/indices/close_spec.rb +68 -0
  197. data/spec/elasticsearch/api/actions/indices/create_spec.rb +68 -0
  198. data/spec/elasticsearch/api/actions/indices/delete_alias_spec.rb +66 -0
  199. data/spec/elasticsearch/api/actions/indices/delete_mapping_spec.rb +77 -0
  200. data/spec/elasticsearch/api/actions/indices/delete_spec.rb +91 -0
  201. data/spec/elasticsearch/api/actions/indices/delete_template_spec.rb +69 -0
  202. data/spec/elasticsearch/api/actions/indices/delete_warmer_spec.rb +86 -0
  203. data/spec/elasticsearch/api/actions/indices/exists_alias_spec.rb +91 -0
  204. data/spec/elasticsearch/api/actions/indices/exists_spec.rb +91 -0
  205. data/spec/elasticsearch/api/actions/indices/exists_template_spec.rb +76 -0
  206. data/spec/elasticsearch/api/actions/indices/exists_type_spec.rb +91 -0
  207. data/spec/elasticsearch/api/actions/indices/flush_spec.rb +74 -0
  208. data/spec/elasticsearch/api/actions/indices/flush_synced_spec.rb +73 -0
  209. data/spec/elasticsearch/api/actions/indices/forcemerge_spec.rb +18 -0
  210. data/spec/elasticsearch/api/actions/indices/freeze_spec.rb +68 -0
  211. data/spec/elasticsearch/api/actions/indices/get_alias_spec.rb +44 -0
  212. data/spec/elasticsearch/api/actions/indices/get_aliases_spec.rb +55 -0
  213. data/spec/elasticsearch/api/actions/indices/get_field_mapping_spec.rb +44 -0
  214. data/spec/elasticsearch/api/actions/indices/get_mapping_spec.rb +66 -0
  215. data/spec/elasticsearch/api/actions/indices/get_settings_spec.rb +55 -0
  216. data/spec/elasticsearch/api/actions/indices/get_spec.rb +48 -0
  217. data/spec/elasticsearch/api/actions/indices/get_template_spec.rb +59 -0
  218. data/spec/elasticsearch/api/actions/indices/get_warmer_spec.rb +48 -0
  219. data/spec/elasticsearch/api/actions/indices/open_spec.rb +48 -0
  220. data/spec/elasticsearch/api/actions/indices/optimize_spec.rb +63 -0
  221. data/spec/elasticsearch/api/actions/indices/put_alias_spec.rb +72 -0
  222. data/spec/elasticsearch/api/actions/indices/put_mapping_spec.rb +85 -0
  223. data/spec/elasticsearch/api/actions/indices/put_settings_spec.rb +91 -0
  224. data/spec/elasticsearch/api/actions/indices/put_template_spec.rb +90 -0
  225. data/spec/elasticsearch/api/actions/indices/put_warmer_spec.rb +101 -0
  226. data/spec/elasticsearch/api/actions/indices/recovery_spec.rb +18 -0
  227. data/spec/elasticsearch/api/actions/indices/refresh_spec.rb +89 -0
  228. data/spec/elasticsearch/api/actions/indices/rollover_spec.rb +41 -0
  229. data/spec/elasticsearch/api/actions/indices/seal_spec.rb +18 -0
  230. data/spec/elasticsearch/api/actions/indices/segments_spec.rb +89 -0
  231. data/spec/elasticsearch/api/actions/indices/shard_stores_spec.rb +18 -0
  232. data/spec/elasticsearch/api/actions/indices/shrink_spec.rb +25 -0
  233. data/spec/elasticsearch/api/actions/indices/snapshot_index_spec.rb +89 -0
  234. data/spec/elasticsearch/api/actions/indices/split_spec.rb +18 -0
  235. data/spec/elasticsearch/api/actions/indices/stats_spec.rb +108 -0
  236. data/spec/elasticsearch/api/actions/indices/status_spec.rb +92 -0
  237. data/spec/elasticsearch/api/actions/indices/unfreeze_spec.rb +68 -0
  238. data/spec/elasticsearch/api/actions/indices/update_aliases_spec.rb +50 -0
  239. data/spec/elasticsearch/api/actions/indices/upgrade_spec.rb +18 -0
  240. data/spec/elasticsearch/api/actions/indices/validate_query_spec.rb +111 -0
  241. data/spec/elasticsearch/api/actions/info_spec.rb +17 -0
  242. data/spec/elasticsearch/api/actions/ingest/delete_pipeline_spec.rb +43 -0
  243. data/spec/elasticsearch/api/actions/ingest/get_pipeline_spec.rb +33 -0
  244. data/spec/elasticsearch/api/actions/ingest/put_pipeline_spec.rb +43 -0
  245. data/spec/elasticsearch/api/actions/ingest/simulate_spec.rb +33 -0
  246. data/spec/elasticsearch/api/actions/json_builders_spec.rb +68 -0
  247. data/spec/elasticsearch/api/actions/list_benchmarks_spec.rb +17 -0
  248. data/spec/elasticsearch/api/actions/mget_spec.rb +100 -0
  249. data/spec/elasticsearch/api/actions/mlt_spec.rb +117 -0
  250. data/spec/elasticsearch/api/actions/mpercolate_spec.rb +49 -0
  251. data/spec/elasticsearch/api/actions/msearch_spec.rb +152 -0
  252. data/spec/elasticsearch/api/actions/msearch_template_spec.rb +77 -0
  253. data/spec/elasticsearch/api/actions/mtermvectors_spec.rb +28 -0
  254. data/spec/elasticsearch/api/actions/nodes/hot_threads_spec.rb +44 -0
  255. data/spec/elasticsearch/api/actions/nodes/info_spec.rb +85 -0
  256. data/spec/elasticsearch/api/actions/nodes/reload_secure_settings_spec.rb +70 -0
  257. data/spec/elasticsearch/api/actions/nodes/shutdown_spec.rb +59 -0
  258. data/spec/elasticsearch/api/actions/nodes/stats_spec.rb +59 -0
  259. data/spec/elasticsearch/api/actions/percolate_spec.rb +67 -0
  260. data/spec/elasticsearch/api/actions/ping_spec.rb +58 -0
  261. data/spec/elasticsearch/api/actions/put_script_spec.rb +32 -0
  262. data/spec/elasticsearch/api/actions/put_template_spec.rb +17 -0
  263. data/spec/elasticsearch/api/actions/reindex_spec.rb +17 -0
  264. data/spec/elasticsearch/api/actions/remote/info_spec.rb +18 -0
  265. data/spec/elasticsearch/api/actions/render_search_template_spec.rb +17 -0
  266. data/spec/elasticsearch/api/actions/scoll_spec.rb +17 -0
  267. data/spec/elasticsearch/api/actions/search_exists_spec.rb +17 -0
  268. data/spec/elasticsearch/api/actions/search_shards_spec.rb +17 -0
  269. data/spec/elasticsearch/api/actions/search_spec.rb +131 -0
  270. data/spec/elasticsearch/api/actions/search_template_spec.rb +17 -0
  271. data/spec/elasticsearch/api/actions/snapshot/create_repository_spec.rb +34 -0
  272. data/spec/elasticsearch/api/actions/snapshot/create_spec.rb +34 -0
  273. data/spec/elasticsearch/api/actions/snapshot/delete_repository_spec.rb +33 -0
  274. data/spec/elasticsearch/api/actions/snapshot/delete_spec.rb +34 -0
  275. data/spec/elasticsearch/api/actions/snapshot/get_repository_spec.rb +18 -0
  276. data/spec/elasticsearch/api/actions/snapshot/get_spec.rb +34 -0
  277. data/spec/elasticsearch/api/actions/snapshot/restore_spec.rb +34 -0
  278. data/spec/elasticsearch/api/actions/snapshot/status_spec.rb +33 -0
  279. data/spec/elasticsearch/api/actions/snapshot/verify_repository_spec.rb +18 -0
  280. data/spec/elasticsearch/api/actions/suggest_spec.rb +77 -0
  281. data/spec/elasticsearch/api/actions/tasks/cancel_spec.rb +33 -0
  282. data/spec/elasticsearch/api/actions/tasks/get_spec.rb +18 -0
  283. data/spec/elasticsearch/api/actions/tasks/list_spec.rb +33 -0
  284. data/spec/elasticsearch/api/actions/termvectors_spec.rb +56 -0
  285. data/spec/elasticsearch/api/actions/update_by_query_spec.rb +17 -0
  286. data/spec/elasticsearch/api/actions/update_document_spec.rb +114 -0
  287. data/spec/elasticsearch/api/api_spec.rb +26 -0
  288. data/spec/elasticsearch/api/client_spec.rb +29 -0
  289. data/spec/elasticsearch/api/utils_spec.rb +413 -0
  290. data/spec/spec_helper.rb +72 -0
  291. data/test/integration/yaml_test_runner.rb +8 -5
  292. data/test/test_helper.rb +0 -27
  293. metadata +313 -295
  294. data/test/unit/abort_benchmark_test.rb +0 -26
  295. data/test/unit/api_test.rb +0 -28
  296. data/test/unit/benchmark_test.rb +0 -26
  297. data/test/unit/bulk_test.rb +0 -134
  298. data/test/unit/cat/aliases_test.rb +0 -26
  299. data/test/unit/cat/allocation_test.rb +0 -26
  300. data/test/unit/cat/count_test.rb +0 -26
  301. data/test/unit/cat/fielddata_test.rb +0 -38
  302. data/test/unit/cat/health_test.rb +0 -26
  303. data/test/unit/cat/help_test.rb +0 -26
  304. data/test/unit/cat/indices_test.rb +0 -26
  305. data/test/unit/cat/master_test.rb +0 -26
  306. data/test/unit/cat/nodeattrs_test.rb +0 -26
  307. data/test/unit/cat/nodes_test.rb +0 -26
  308. data/test/unit/cat/pending_tasks_test.rb +0 -26
  309. data/test/unit/cat/plugins_test.rb +0 -26
  310. data/test/unit/cat/recovery_test.rb +0 -26
  311. data/test/unit/cat/repositories_test.rb +0 -26
  312. data/test/unit/cat/segments_test.rb +0 -26
  313. data/test/unit/cat/shards_test.rb +0 -26
  314. data/test/unit/cat/snapshots_test.rb +0 -26
  315. data/test/unit/cat/tasks_test.rb +0 -26
  316. data/test/unit/cat/templates_test.rb +0 -26
  317. data/test/unit/cat/thread_pool_test.rb +0 -26
  318. data/test/unit/clear_scroll_test.rb +0 -38
  319. data/test/unit/client_test.rb +0 -31
  320. data/test/unit/cluster/allocation_explain_test.rb +0 -26
  321. data/test/unit/cluster/get_settings_test.rb +0 -26
  322. data/test/unit/cluster/health_test.rb +0 -47
  323. data/test/unit/cluster/pending_tasks_test.rb +0 -26
  324. data/test/unit/cluster/put_settings_test.rb +0 -26
  325. data/test/unit/cluster/remote_info_test.rb +0 -26
  326. data/test/unit/cluster/reroute_test.rb +0 -38
  327. data/test/unit/cluster/state_test.rb +0 -46
  328. data/test/unit/cluster/stats_test.rb +0 -26
  329. data/test/unit/count_percolate_test.rb +0 -26
  330. data/test/unit/count_test.rb +0 -46
  331. data/test/unit/create_document_test.rb +0 -56
  332. data/test/unit/delete_by_query_test.rb +0 -51
  333. data/test/unit/delete_document_test.rb +0 -85
  334. data/test/unit/delete_script_test.rb +0 -26
  335. data/test/unit/delete_template_test.rb +0 -26
  336. data/test/unit/exists_document_test.rb +0 -90
  337. data/test/unit/explain_document_test.rb +0 -73
  338. data/test/unit/field_caps_test.rb +0 -26
  339. data/test/unit/field_stats_test.rb +0 -26
  340. data/test/unit/get_document_source_test.rb +0 -71
  341. data/test/unit/get_document_test.rb +0 -85
  342. data/test/unit/get_script_test.rb +0 -26
  343. data/test/unit/get_template_test.rb +0 -41
  344. data/test/unit/index_document_test.rb +0 -92
  345. data/test/unit/indices/analyze_test.rb +0 -76
  346. data/test/unit/indices/clear_cache_test.rb +0 -54
  347. data/test/unit/indices/close_test.rb +0 -51
  348. data/test/unit/indices/create_test.rb +0 -51
  349. data/test/unit/indices/delete_alias_test.rb +0 -47
  350. data/test/unit/indices/delete_mapping_test.rb +0 -56
  351. data/test/unit/indices/delete_template_test.rb +0 -51
  352. data/test/unit/indices/delete_test.rb +0 -69
  353. data/test/unit/indices/delete_warmer_test.rb +0 -68
  354. data/test/unit/indices/exists_alias_test.rb +0 -73
  355. data/test/unit/indices/exists_template_test.rb +0 -59
  356. data/test/unit/indices/exists_test.rb +0 -71
  357. data/test/unit/indices/exists_type_test.rb +0 -73
  358. data/test/unit/indices/flush_synced_test.rb +0 -41
  359. data/test/unit/indices/flush_test.rb +0 -54
  360. data/test/unit/indices/forcemerge_test.rb +0 -26
  361. data/test/unit/indices/get_alias_test.rb +0 -44
  362. data/test/unit/indices/get_aliases_test.rb +0 -54
  363. data/test/unit/indices/get_field_mapping_test.rb +0 -44
  364. data/test/unit/indices/get_mapping_test.rb +0 -62
  365. data/test/unit/indices/get_settings_test.rb +0 -54
  366. data/test/unit/indices/get_template_test.rb +0 -43
  367. data/test/unit/indices/get_test.rb +0 -45
  368. data/test/unit/indices/get_warmer_test.rb +0 -44
  369. data/test/unit/indices/open_test.rb +0 -51
  370. data/test/unit/indices/optimize_test.rb +0 -54
  371. data/test/unit/indices/put_alias_test.rb +0 -59
  372. data/test/unit/indices/put_mapping_test.rb +0 -60
  373. data/test/unit/indices/put_settings_test.rb +0 -68
  374. data/test/unit/indices/put_template_test.rb +0 -57
  375. data/test/unit/indices/put_warmer_test.rb +0 -65
  376. data/test/unit/indices/recovery_test.rb +0 -26
  377. data/test/unit/indices/refresh_test.rb +0 -64
  378. data/test/unit/indices/rollover_test.rb +0 -38
  379. data/test/unit/indices/seal_test.rb +0 -25
  380. data/test/unit/indices/segments_test.rb +0 -64
  381. data/test/unit/indices/shard_stores_test.rb +0 -26
  382. data/test/unit/indices/shrink_test.rb +0 -33
  383. data/test/unit/indices/snapshot_index_test.rb +0 -64
  384. data/test/unit/indices/split_test.rb +0 -26
  385. data/test/unit/indices/stats_test.rb +0 -76
  386. data/test/unit/indices/status_test.rb +0 -72
  387. data/test/unit/indices/update_aliases_test.rb +0 -42
  388. data/test/unit/indices/upgrade_test.rb +0 -26
  389. data/test/unit/indices/validate_query_test.rb +0 -84
  390. data/test/unit/info_test.rb +0 -26
  391. data/test/unit/ingest/delete_pipeline_test.rb +0 -41
  392. data/test/unit/ingest/get_pipeline_test.rb +0 -35
  393. data/test/unit/ingest/put_pipeline_test.rb +0 -46
  394. data/test/unit/ingest/simulate_test.rb +0 -35
  395. data/test/unit/json_builders_test.rb +0 -64
  396. data/test/unit/list_benchmarks_test.rb +0 -26
  397. data/test/unit/mget_test.rb +0 -79
  398. data/test/unit/mlt_test.rb +0 -89
  399. data/test/unit/mpercolate_test.rb +0 -51
  400. data/test/unit/msearch_template_test.rb +0 -61
  401. data/test/unit/msearch_test.rb +0 -130
  402. data/test/unit/mtermvectors_test.rb +0 -38
  403. data/test/unit/nodes/hot_threads_test.rb +0 -44
  404. data/test/unit/nodes/info_test.rb +0 -75
  405. data/test/unit/nodes/shutdown_test.rb +0 -45
  406. data/test/unit/nodes/stats_test.rb +0 -65
  407. data/test/unit/percolate_test.rb +0 -56
  408. data/test/unit/ping_test.rb +0 -53
  409. data/test/unit/put_script_test.rb +0 -26
  410. data/test/unit/put_template_test.rb +0 -26
  411. data/test/unit/reindex_test.rb +0 -26
  412. data/test/unit/remote/info_test.rb +0 -26
  413. data/test/unit/render_search_template_test.rb +0 -25
  414. data/test/unit/scroll_test.rb +0 -26
  415. data/test/unit/search_exists_test.rb +0 -26
  416. data/test/unit/search_shards_test.rb +0 -26
  417. data/test/unit/search_template_test.rb +0 -26
  418. data/test/unit/search_test.rb +0 -116
  419. data/test/unit/snapshot/create_repository_test.rb +0 -38
  420. data/test/unit/snapshot/create_test.rb +0 -38
  421. data/test/unit/snapshot/delete_repository_test.rb +0 -35
  422. data/test/unit/snapshot/delete_test.rb +0 -38
  423. data/test/unit/snapshot/get_repository_test.rb +0 -26
  424. data/test/unit/snapshot/get_test.rb +0 -38
  425. data/test/unit/snapshot/restore_test.rb +0 -38
  426. data/test/unit/snapshot/status_test.rb +0 -38
  427. data/test/unit/snapshot/verify_repository_test.rb +0 -26
  428. data/test/unit/suggest_test.rb +0 -64
  429. data/test/unit/tasks/cancel_test.rb +0 -38
  430. data/test/unit/tasks/get_test.rb +0 -26
  431. data/test/unit/tasks/list_test.rb +0 -38
  432. data/test/unit/termvectors_test.rb +0 -47
  433. data/test/unit/update_by_query_test.rb +0 -26
  434. data/test/unit/update_document_test.rb +0 -85
  435. data/test/unit/utils_test.rb +0 -310
@@ -20,13 +20,11 @@ module Elasticsearch
20
20
  #
21
21
  def msearch_template(arguments={})
22
22
  raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
23
-
24
- valid_params = [ :search_type ]
25
23
  method = HTTP_GET
26
24
  path = Utils.__pathify Utils.__listify(arguments[:index]),
27
25
  Utils.__listify(arguments[:type]),
28
26
  '_msearch/template'
29
- params = Utils.__validate_and_extract_params arguments, valid_params
27
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
30
28
  body = arguments[:body]
31
29
 
32
30
  case
@@ -40,6 +38,11 @@ module Elasticsearch
40
38
 
41
39
  perform_request(method, path, params, payload, {"Content-Type" => "application/x-ndjson"}).body
42
40
  end
41
+
42
+ # Register this action with its valid params when the module is loaded.
43
+ #
44
+ # @since 6.2.0
45
+ ParamsRegistry.register(:msearch_template, [ :search_type ].freeze)
43
46
  end
44
47
  end
45
48
  end
@@ -35,19 +35,6 @@ module Elasticsearch
35
35
  # @see #termvector
36
36
  #
37
37
  def mtermvectors(arguments={})
38
- valid_params = [
39
- :ids,
40
- :term_statistics,
41
- :field_statistics,
42
- :fields,
43
- :offsets,
44
- :positions,
45
- :payloads,
46
- :preference,
47
- :realtime,
48
- :routing,
49
- :parent ]
50
-
51
38
  ids = arguments.delete(:ids)
52
39
 
53
40
  method = HTTP_GET
@@ -55,7 +42,7 @@ module Elasticsearch
55
42
  Utils.__escape(arguments[:type]),
56
43
  '_mtermvectors'
57
44
 
58
- params = Utils.__validate_and_extract_params arguments, valid_params
45
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
59
46
 
60
47
  if ids
61
48
  body = { :ids => ids }
@@ -65,6 +52,22 @@ module Elasticsearch
65
52
 
66
53
  perform_request(method, path, params, body).body
67
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(:mtermvectors, [
60
+ :ids,
61
+ :term_statistics,
62
+ :field_statistics,
63
+ :fields,
64
+ :offsets,
65
+ :positions,
66
+ :payloads,
67
+ :preference,
68
+ :realtime,
69
+ :routing,
70
+ :parent ].freeze)
68
71
  end
69
72
  end
70
73
  end
@@ -27,21 +27,24 @@ module Elasticsearch
27
27
  # @see http://www.elasticsearch.org/guide/reference/api/admin-cluster-nodes-hot-threads/
28
28
  #
29
29
  def hot_threads(arguments={})
30
- valid_params = [
31
- :interval,
32
- :snapshots,
33
- :threads,
34
- :type,
35
- :timeout ]
36
-
37
30
  method = HTTP_GET
38
31
  path = Utils.__pathify '_nodes', Utils.__listify(arguments[:node_id]), 'hot_threads'
39
32
 
40
- params = Utils.__validate_and_extract_params arguments, valid_params
33
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
41
34
  body = nil
42
35
 
43
36
  perform_request(method, path, params, body).body
44
37
  end
38
+
39
+ # Register this action with its valid params when the module is loaded.
40
+ #
41
+ # @since 6.2.0
42
+ ParamsRegistry.register(:hot_threads, [
43
+ :interval,
44
+ :snapshots,
45
+ :threads,
46
+ :type,
47
+ :timeout ].freeze)
45
48
  end
46
49
  end
47
50
  end
@@ -43,37 +43,41 @@ module Elasticsearch
43
43
  def info(arguments={})
44
44
  arguments = arguments.clone
45
45
  metric = arguments.delete(:metric)
46
-
47
- valid_parts = [
48
- :_all,
49
- :http,
50
- :jvm,
51
- :network,
52
- :os,
53
- :plugins,
54
- :process,
55
- :settings,
56
- :thread_pool,
57
- :transport,
58
- :timeout ]
59
-
60
- valid_params = [ :flat_settings, :timeout ]
61
-
62
46
  method = HTTP_GET
63
-
64
47
  if metric
65
48
  parts = metric
66
49
  else
67
- parts = Utils.__extract_parts arguments, valid_parts
50
+ parts = Utils.__extract_parts arguments, ParamsRegistry.get(:info_parts)
68
51
  end
69
52
 
70
53
  path = Utils.__pathify '_nodes', Utils.__listify(arguments[:node_id]), Utils.__listify(parts)
71
54
 
72
- params = Utils.__validate_and_extract_params arguments, valid_params
55
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(:info_params)
73
56
  body = nil
74
57
 
75
58
  perform_request(method, path, params, body).body
76
59
  end
60
+
61
+ # Register this action with its valid params when the module is loaded.
62
+ #
63
+ # @since 6.2.0
64
+ ParamsRegistry.register(:info_params, [ :flat_settings, :timeout ].freeze)
65
+
66
+ # Register this action with its valid parts when the module is loaded.
67
+ #
68
+ # @since 6.2.0
69
+ ParamsRegistry.register(:info_parts, [
70
+ :_all,
71
+ :http,
72
+ :jvm,
73
+ :network,
74
+ :os,
75
+ :plugins,
76
+ :process,
77
+ :settings,
78
+ :thread_pool,
79
+ :transport,
80
+ :timeout ].freeze)
77
81
  end
78
82
  end
79
83
  end
@@ -0,0 +1,44 @@
1
+ module Elasticsearch
2
+ module API
3
+ module Nodes
4
+ module Actions
5
+ module ParamsRegistry
6
+
7
+ extend self
8
+
9
+ # A Mapping of all the actions to their list of valid params.
10
+ #
11
+ # @since 6.2.0
12
+ PARAMS = {}
13
+
14
+ # Register an action with its list of valid params.
15
+ #
16
+ # @example Register the action.
17
+ # ParamsRegistry.register(:benchmark, [ :verbose ])
18
+ #
19
+ # @param [ Symbol ] action The action to register.
20
+ # @param [ Array[Symbol] ] valid_params The list of valid params.
21
+ #
22
+ # @since 6.2.0
23
+ def register(action, valid_params)
24
+ PARAMS[action.to_sym] = valid_params
25
+ end
26
+
27
+ # Get the list of valid params for a given action.
28
+ #
29
+ # @example Get the list of valid params.
30
+ # ParamsRegistry.get(:benchmark)
31
+ #
32
+ # @param [ Symbol ] action The action.
33
+ #
34
+ # @return [ Array<Symbol> ] The list of valid params for the action.
35
+ #
36
+ # @since 6.2.0
37
+ def get(action)
38
+ PARAMS.fetch(action, [])
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,37 @@
1
+ module Elasticsearch
2
+ module API
3
+ module Nodes
4
+ 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')
16
+ #
17
+ # @option arguments [ Array ] :node_id A comma-separated list of node IDs or names to perform the operation on
18
+ # @option arguments [ String ] :timeout Explicit operation timeout
19
+ #
20
+ # @see http://elasticsearch.org/guide/reference/api/cluster-nodes-reload-secure-settings
21
+ #
22
+ def reload_secure_settings(arguments={})
23
+ valid_params = [
24
+ :timeout ]
25
+
26
+ method = HTTP_POST
27
+ path = Utils.__pathify '_nodes', Utils.__listify(arguments[:node_id]), 'reload_secure_settings'
28
+
29
+ params = Utils.__validate_and_extract_params arguments, valid_params
30
+ body = nil
31
+
32
+ perform_request(method, path, params, body).body
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -18,18 +18,21 @@ module Elasticsearch
18
18
  # @see http://elasticsearch.org/guide/reference/api/admin-cluster-nodes-shutdown/
19
19
  #
20
20
  def shutdown(arguments={})
21
- valid_params = [
22
- :delay,
23
- :exit ]
24
-
25
21
  method = HTTP_POST
26
22
  path = Utils.__pathify '_cluster/nodes', Utils.__listify(arguments[:node_id]), '_shutdown'
27
23
 
28
- params = Utils.__validate_and_extract_params arguments, valid_params
24
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
29
25
  body = nil
30
26
 
31
27
  perform_request(method, path, params, body).body
32
28
  end
29
+
30
+ # Register this action with its valid params when the module is loaded.
31
+ #
32
+ # @since 6.2.0
33
+ ParamsRegistry.register(:shutdown, [
34
+ :delay,
35
+ :exit ].freeze)
33
36
  end
34
37
  end
35
38
  end
@@ -44,21 +44,6 @@ module Elasticsearch
44
44
  #
45
45
  def stats(arguments={})
46
46
  arguments = arguments.clone
47
-
48
- valid_params = [
49
- :metric,
50
- :index_metric,
51
- :node_id,
52
- :completion_fields,
53
- :fielddata_fields,
54
- :fields,
55
- :include_segment_file_sizes,
56
- :groups,
57
- :human,
58
- :level,
59
- :types,
60
- :timeout ]
61
-
62
47
  node_id = arguments.delete(:node_id)
63
48
 
64
49
  path = Utils.__pathify '_nodes',
@@ -67,7 +52,7 @@ module Elasticsearch
67
52
  Utils.__listify(arguments.delete(:metric)),
68
53
  Utils.__listify(arguments.delete(:index_metric))
69
54
 
70
- params = Utils.__validate_and_extract_params arguments, valid_params
55
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
71
56
 
72
57
  [:completion_fields, :fielddata_fields, :fields, :groups, :types].each do |key|
73
58
  params[key] = Utils.__listify(params[key]) if params[key]
@@ -77,6 +62,23 @@ module Elasticsearch
77
62
 
78
63
  perform_request(HTTP_GET, path, params, body).body
79
64
  end
65
+
66
+ # Register this action with its valid params when the module is loaded.
67
+ #
68
+ # @since 6.2.0
69
+ ParamsRegistry.register(:stats, [
70
+ :metric,
71
+ :index_metric,
72
+ :node_id,
73
+ :completion_fields,
74
+ :fielddata_fields,
75
+ :fields,
76
+ :include_segment_file_sizes,
77
+ :groups,
78
+ :human,
79
+ :level,
80
+ :types,
81
+ :timeout ].freeze)
80
82
  end
81
83
  end
82
84
  end
@@ -0,0 +1,42 @@
1
+ module Elasticsearch
2
+ module API
3
+ module Actions
4
+ module ParamsRegistry
5
+
6
+ extend self
7
+
8
+ # A Mapping of all the actions to their list of valid params.
9
+ #
10
+ # @since 6.2.0
11
+ PARAMS = {}
12
+
13
+ # Register an action with its list of valid params.
14
+ #
15
+ # @example Register the action.
16
+ # ParamsRegistry.register(:benchmark, [ :verbose ])
17
+ #
18
+ # @param [ Symbol ] action The action to register.
19
+ # @param [ Array[Symbol] ] valid_params The list of valid params.
20
+ #
21
+ # @since 6.2.0
22
+ def register(action, valid_params)
23
+ PARAMS[action.to_sym] = valid_params
24
+ end
25
+
26
+ # Get the list of valid params for a given action.
27
+ #
28
+ # @example Get the list of valid params.
29
+ # ParamsRegistry.get(:benchmark)
30
+ #
31
+ # @param [ Symbol ] action The action.
32
+ #
33
+ # @return [ Array<Symbol> ] The list of valid params for the action.
34
+ #
35
+ # @since 6.2.0
36
+ def get(action)
37
+ PARAMS.fetch(action, [])
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -42,30 +42,32 @@ module Elasticsearch
42
42
 
43
43
  raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
44
44
  raise ArgumentError, "Required argument 'type' missing" unless arguments[:type]
45
-
46
- valid_params = [
47
- :routing,
48
- :preference,
49
- :ignore_unavailable,
50
- :allow_no_indices,
51
- :expand_wildcards,
52
- :percolate_index,
53
- :percolate_type,
54
- :percolate_format,
55
- :version,
56
- :version_type ]
57
-
58
45
  method = HTTP_GET
59
46
  path = Utils.__pathify Utils.__escape(arguments[:index]),
60
47
  Utils.__escape(arguments[:type]),
61
48
  Utils.__escape(arguments[:id]),
62
49
  '_percolate'
63
50
 
64
- params = Utils.__validate_and_extract_params arguments, valid_params
51
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
65
52
  body = arguments[:body]
66
53
 
67
54
  perform_request(method, path, params, body).body
68
55
  end
56
+
57
+ # Register this action with its valid params when the module is loaded.
58
+ #
59
+ # @since 6.2.0
60
+ ParamsRegistry.register(:percolate, [
61
+ :routing,
62
+ :preference,
63
+ :ignore_unavailable,
64
+ :allow_no_indices,
65
+ :expand_wildcards,
66
+ :percolate_index,
67
+ :percolate_type,
68
+ :percolate_format,
69
+ :version,
70
+ :version_type ].freeze)
69
71
  end
70
72
  end
71
73
  end
@@ -19,7 +19,7 @@ module Elasticsearch
19
19
  # }
20
20
  #
21
21
  # @option arguments [String] :id Script ID (*Required*)
22
- # @option arguments [String] :lang Script language (*Required*)
22
+ # @option arguments [String] :lang Script language
23
23
  # @option arguments [Hash] :body A JSON document containing the script (*Required*)
24
24
  # @option arguments [Number] :version Explicit version number for concurrency control
25
25
  # @option arguments [String] :version_type Specific version type (options: internal, external, external_gte, force)
@@ -29,23 +29,24 @@ module Elasticsearch
29
29
  #
30
30
  def put_script(arguments={})
31
31
  raise ArgumentError, "Required argument 'id' missing" unless arguments[:id]
32
- raise ArgumentError, "Required argument 'lang' missing" unless arguments[:lang]
33
32
  raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
34
-
35
- valid_params = [
36
- :op_type,
37
- :version,
38
- :version_type ]
39
-
40
33
  method = HTTP_PUT
41
- path = "_scripts/#{arguments.delete(:lang)}/#{arguments[:id]}"
34
+ path = "_scripts/#{arguments.has_key?(:lang) ? "#{arguments.delete(:lang)}/" : ''}#{arguments[:id]}"
42
35
 
43
- params = Utils.__validate_and_extract_params arguments, valid_params
36
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
44
37
 
45
38
  body = arguments[:body]
46
39
 
47
40
  perform_request(method, path, params, body).body
48
41
  end
42
+
43
+ # Register this action with its valid params when the module is loaded.
44
+ #
45
+ # @since 6.2.0
46
+ ParamsRegistry.register(:put_script, [
47
+ :op_type,
48
+ :version,
49
+ :version_type ].freeze)
49
50
  end
50
51
  end
51
52
  end