elasticsearch-api 7.7.0 → 7.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +17 -3
  3. data/Rakefile +16 -3
  4. data/elasticsearch-api.gemspec +16 -3
  5. data/lib/elasticsearch-api.rb +16 -3
  6. data/lib/elasticsearch/api.rb +18 -4
  7. data/lib/elasticsearch/api/actions/abort_benchmark.rb +41 -0
  8. data/lib/elasticsearch/api/actions/benchmark.rb +81 -0
  9. data/lib/elasticsearch/api/actions/bulk.rb +23 -11
  10. data/lib/elasticsearch/api/actions/cat/aliases.rb +20 -9
  11. data/lib/elasticsearch/api/actions/cat/allocation.rb +20 -9
  12. data/lib/elasticsearch/api/actions/cat/count.rb +19 -6
  13. data/lib/elasticsearch/api/actions/cat/fielddata.rb +20 -9
  14. data/lib/elasticsearch/api/actions/cat/health.rb +19 -8
  15. data/lib/elasticsearch/api/actions/cat/help.rb +18 -5
  16. data/lib/elasticsearch/api/actions/cat/indices.rb +23 -18
  17. data/lib/elasticsearch/api/actions/cat/master.rb +18 -5
  18. data/lib/elasticsearch/api/actions/cat/nodeattrs.rb +18 -5
  19. data/lib/elasticsearch/api/actions/cat/nodes.rb +21 -12
  20. data/lib/elasticsearch/api/actions/cat/params_registry.rb +16 -3
  21. data/lib/elasticsearch/api/actions/cat/pending_tasks.rb +19 -8
  22. data/lib/elasticsearch/api/actions/cat/plugins.rb +18 -5
  23. data/lib/elasticsearch/api/actions/cat/recovery.rb +21 -12
  24. data/lib/elasticsearch/api/actions/cat/repositories.rb +18 -5
  25. data/lib/elasticsearch/api/actions/cat/segments.rb +20 -9
  26. data/lib/elasticsearch/api/actions/cat/shards.rb +21 -12
  27. data/lib/elasticsearch/api/actions/cat/snapshots.rb +20 -9
  28. data/lib/elasticsearch/api/actions/cat/tasks.rb +19 -8
  29. data/lib/elasticsearch/api/actions/cat/templates.rb +19 -6
  30. data/lib/elasticsearch/api/actions/cat/thread_pool.rb +20 -9
  31. data/lib/elasticsearch/api/actions/clear_scroll.rb +20 -7
  32. data/lib/elasticsearch/api/actions/cluster/allocation_explain.rb +25 -7
  33. data/lib/elasticsearch/api/actions/cluster/delete_component_template.rb +22 -5
  34. data/lib/elasticsearch/api/actions/cluster/delete_voting_config_exclusions.rb +51 -0
  35. data/lib/elasticsearch/api/actions/cluster/exists_component_template.rb +63 -0
  36. data/lib/elasticsearch/api/actions/cluster/get_component_template.rb +23 -6
  37. data/lib/elasticsearch/api/actions/cluster/get_settings.rb +18 -5
  38. data/lib/elasticsearch/api/actions/cluster/health.rb +23 -18
  39. data/lib/elasticsearch/api/actions/cluster/params_registry.rb +16 -3
  40. data/lib/elasticsearch/api/actions/cluster/pending_tasks.rb +18 -5
  41. data/lib/elasticsearch/api/actions/cluster/post_voting_config_exclusions.rb +55 -0
  42. data/lib/elasticsearch/api/actions/cluster/put_component_template.rb +22 -5
  43. data/lib/elasticsearch/api/actions/cluster/put_settings.rb +18 -5
  44. data/lib/elasticsearch/api/actions/cluster/remote_info.rb +18 -5
  45. data/lib/elasticsearch/api/actions/cluster/reroute.rb +19 -8
  46. data/lib/elasticsearch/api/actions/cluster/state.rb +21 -12
  47. data/lib/elasticsearch/api/actions/cluster/stats.rb +19 -6
  48. data/lib/elasticsearch/api/actions/count.rb +27 -23
  49. data/lib/elasticsearch/api/actions/create.rb +21 -12
  50. data/lib/elasticsearch/api/actions/dangling_indices/delete_dangling_index.rb +60 -0
  51. data/lib/elasticsearch/api/actions/dangling_indices/import_dangling_index.rb +60 -0
  52. data/lib/elasticsearch/api/actions/dangling_indices/list_dangling_indices.rb +43 -0
  53. data/lib/elasticsearch/api/actions/dangling_indices/params_registry.rb +60 -0
  54. data/lib/elasticsearch/api/actions/delete.rb +22 -13
  55. data/lib/elasticsearch/api/actions/delete_by_query.rb +24 -19
  56. data/lib/elasticsearch/api/actions/delete_by_query_rethrottle.rb +19 -6
  57. data/lib/elasticsearch/api/actions/delete_by_rethrottle.rb +47 -0
  58. data/lib/elasticsearch/api/actions/delete_script.rb +18 -5
  59. data/lib/elasticsearch/api/actions/exists.rb +21 -10
  60. data/lib/elasticsearch/api/actions/exists_source.rb +21 -10
  61. data/lib/elasticsearch/api/actions/explain.rb +30 -14
  62. data/lib/elasticsearch/api/actions/field_caps.rb +31 -14
  63. data/lib/elasticsearch/api/actions/get.rb +21 -10
  64. data/lib/elasticsearch/api/actions/get_script.rb +18 -5
  65. data/lib/elasticsearch/api/actions/get_script_context.rb +22 -5
  66. data/lib/elasticsearch/api/actions/get_script_languages.rb +22 -5
  67. data/lib/elasticsearch/api/actions/get_source.rb +21 -10
  68. data/lib/elasticsearch/api/actions/index.rb +23 -16
  69. data/lib/elasticsearch/api/actions/indices/add_block.rb +68 -0
  70. data/lib/elasticsearch/api/actions/indices/analyze.rb +28 -10
  71. data/lib/elasticsearch/api/actions/indices/clear_cache.rb +20 -9
  72. data/lib/elasticsearch/api/actions/indices/clone.rb +18 -5
  73. data/lib/elasticsearch/api/actions/indices/close.rb +19 -8
  74. data/lib/elasticsearch/api/actions/indices/create.rb +18 -5
  75. data/lib/elasticsearch/api/actions/indices/delete.rb +19 -8
  76. data/lib/elasticsearch/api/actions/indices/delete_alias.rb +19 -6
  77. data/lib/elasticsearch/api/actions/indices/delete_index_template.rb +62 -0
  78. data/lib/elasticsearch/api/actions/indices/delete_template.rb +18 -5
  79. data/lib/elasticsearch/api/actions/indices/exists.rb +19 -8
  80. data/lib/elasticsearch/api/actions/indices/exists_alias.rb +20 -9
  81. data/lib/elasticsearch/api/actions/indices/exists_index_template.rb +65 -0
  82. data/lib/elasticsearch/api/actions/indices/exists_template.rb +18 -5
  83. data/lib/elasticsearch/api/actions/indices/exists_type.rb +19 -8
  84. data/lib/elasticsearch/api/actions/indices/flush.rb +20 -9
  85. data/lib/elasticsearch/api/actions/indices/flush_synced.rb +20 -9
  86. data/lib/elasticsearch/api/actions/indices/forcemerge.rb +20 -9
  87. data/lib/elasticsearch/api/actions/indices/freeze.rb +16 -3
  88. data/lib/elasticsearch/api/actions/indices/get.rb +19 -8
  89. data/lib/elasticsearch/api/actions/indices/get_alias.rb +20 -9
  90. data/lib/elasticsearch/api/actions/indices/get_field_mapping.rb +21 -10
  91. data/lib/elasticsearch/api/actions/indices/get_index_template.rb +66 -0
  92. data/lib/elasticsearch/api/actions/indices/get_mapping.rb +22 -11
  93. data/lib/elasticsearch/api/actions/indices/get_settings.rb +20 -9
  94. data/lib/elasticsearch/api/actions/indices/get_template.rb +19 -6
  95. data/lib/elasticsearch/api/actions/indices/get_upgrade.rb +20 -9
  96. data/lib/elasticsearch/api/actions/indices/open.rb +19 -8
  97. data/lib/elasticsearch/api/actions/indices/params_registry.rb +16 -3
  98. data/lib/elasticsearch/api/actions/indices/put_alias.rb +19 -6
  99. data/lib/elasticsearch/api/actions/indices/put_index_template.rb +66 -0
  100. data/lib/elasticsearch/api/actions/indices/put_mapping.rb +25 -12
  101. data/lib/elasticsearch/api/actions/indices/put_settings.rb +20 -9
  102. data/lib/elasticsearch/api/actions/indices/put_template.rb +18 -5
  103. data/lib/elasticsearch/api/actions/indices/recovery.rb +19 -6
  104. data/lib/elasticsearch/api/actions/indices/refresh.rb +20 -9
  105. data/lib/elasticsearch/api/actions/indices/resolve_index.rb +60 -0
  106. data/lib/elasticsearch/api/actions/indices/rollover.rb +19 -6
  107. data/lib/elasticsearch/api/actions/indices/segments.rb +20 -9
  108. data/lib/elasticsearch/api/actions/indices/shard_stores.rb +21 -12
  109. data/lib/elasticsearch/api/actions/indices/shrink.rb +18 -5
  110. data/lib/elasticsearch/api/actions/indices/simulate_index_template.rb +65 -0
  111. data/lib/elasticsearch/api/actions/indices/simulate_template.rb +67 -0
  112. data/lib/elasticsearch/api/actions/indices/split.rb +18 -5
  113. data/lib/elasticsearch/api/actions/indices/stats.rb +21 -14
  114. data/lib/elasticsearch/api/actions/indices/unfreeze.rb +16 -3
  115. data/lib/elasticsearch/api/actions/indices/update_aliases.rb +18 -5
  116. data/lib/elasticsearch/api/actions/indices/upgrade.rb +20 -9
  117. data/lib/elasticsearch/api/actions/indices/validate_query.rb +33 -19
  118. data/lib/elasticsearch/api/actions/info.rb +18 -5
  119. data/lib/elasticsearch/api/actions/ingest/delete_pipeline.rb +18 -5
  120. data/lib/elasticsearch/api/actions/ingest/get_pipeline.rb +19 -6
  121. data/lib/elasticsearch/api/actions/ingest/params_registry.rb +16 -3
  122. data/lib/elasticsearch/api/actions/ingest/processor_grok.rb +18 -5
  123. data/lib/elasticsearch/api/actions/ingest/put_pipeline.rb +18 -5
  124. data/lib/elasticsearch/api/actions/ingest/simulate.rb +20 -7
  125. data/lib/elasticsearch/api/actions/mget.rb +21 -8
  126. data/lib/elasticsearch/api/actions/msearch.rb +22 -11
  127. data/lib/elasticsearch/api/actions/msearch_template.rb +22 -11
  128. data/lib/elasticsearch/api/actions/mtermvectors.rb +32 -16
  129. data/lib/elasticsearch/api/actions/nodes/hot_threads.rb +20 -9
  130. data/lib/elasticsearch/api/actions/nodes/info.rb +20 -9
  131. data/lib/elasticsearch/api/actions/nodes/params_registry.rb +16 -3
  132. data/lib/elasticsearch/api/actions/nodes/reload_secure_settings.rb +19 -6
  133. data/lib/elasticsearch/api/actions/nodes/shutdown.rb +56 -0
  134. data/lib/elasticsearch/api/actions/nodes/stats.rb +22 -15
  135. data/lib/elasticsearch/api/actions/nodes/usage.rb +20 -9
  136. data/lib/elasticsearch/api/actions/params_registry.rb +16 -3
  137. data/lib/elasticsearch/api/actions/ping.rb +18 -5
  138. data/lib/elasticsearch/api/actions/put_script.rb +19 -6
  139. data/lib/elasticsearch/api/actions/rank_eval.rb +26 -13
  140. data/lib/elasticsearch/api/actions/reindex.rb +18 -5
  141. data/lib/elasticsearch/api/actions/reindex_rethrottle.rb +19 -6
  142. data/lib/elasticsearch/api/actions/remote/info.rb +37 -0
  143. data/lib/elasticsearch/api/actions/render_search_template.rb +28 -10
  144. data/lib/elasticsearch/api/actions/scripts_painless_execute.rb +29 -7
  145. data/lib/elasticsearch/api/actions/scroll.rb +29 -11
  146. data/lib/elasticsearch/api/actions/search.rb +34 -24
  147. data/lib/elasticsearch/api/actions/search_shards.rb +20 -9
  148. data/lib/elasticsearch/api/actions/search_template.rb +22 -13
  149. data/lib/elasticsearch/api/actions/snapshot/cleanup_repository.rb +18 -5
  150. data/lib/elasticsearch/api/actions/snapshot/create.rb +18 -5
  151. data/lib/elasticsearch/api/actions/snapshot/create_repository.rb +18 -5
  152. data/lib/elasticsearch/api/actions/snapshot/delete.rb +18 -5
  153. data/lib/elasticsearch/api/actions/snapshot/delete_repository.rb +19 -6
  154. data/lib/elasticsearch/api/actions/snapshot/get.rb +18 -5
  155. data/lib/elasticsearch/api/actions/snapshot/get_repository.rb +19 -6
  156. data/lib/elasticsearch/api/actions/snapshot/params_registry.rb +16 -3
  157. data/lib/elasticsearch/api/actions/snapshot/restore.rb +18 -5
  158. data/lib/elasticsearch/api/actions/snapshot/status.rb +19 -6
  159. data/lib/elasticsearch/api/actions/snapshot/verify_repository.rb +18 -5
  160. data/lib/elasticsearch/api/actions/tasks/cancel.rb +22 -7
  161. data/lib/elasticsearch/api/actions/tasks/get.rb +18 -5
  162. data/lib/elasticsearch/api/actions/tasks/list.rb +19 -8
  163. data/lib/elasticsearch/api/actions/tasks/params_registry.rb +16 -3
  164. data/lib/elasticsearch/api/actions/termvectors.rb +26 -11
  165. data/lib/elasticsearch/api/actions/update.rb +21 -10
  166. data/lib/elasticsearch/api/actions/update_by_query.rb +24 -19
  167. data/lib/elasticsearch/api/actions/update_by_query_rethrottle.rb +19 -6
  168. data/lib/elasticsearch/api/namespace/cat.rb +16 -4
  169. data/lib/elasticsearch/api/namespace/cluster.rb +16 -3
  170. data/lib/elasticsearch/api/namespace/common.rb +16 -3
  171. data/lib/elasticsearch/api/namespace/dangling_indices.rb +35 -0
  172. data/lib/elasticsearch/api/namespace/indices.rb +16 -3
  173. data/lib/elasticsearch/api/namespace/ingest.rb +16 -3
  174. data/lib/elasticsearch/api/namespace/nodes.rb +16 -3
  175. data/lib/elasticsearch/api/namespace/remote.rb +16 -3
  176. data/lib/elasticsearch/api/namespace/snapshot.rb +16 -3
  177. data/lib/elasticsearch/api/namespace/tasks.rb +16 -3
  178. data/lib/elasticsearch/api/utils.rb +16 -3
  179. data/lib/elasticsearch/api/version.rb +17 -4
  180. data/spec/elasticsearch/api/actions/abort_benchmark_spec.rb +34 -0
  181. data/spec/elasticsearch/api/actions/benchmark_spec.rb +34 -0
  182. data/spec/elasticsearch/api/actions/bulk_spec.rb +16 -3
  183. data/spec/elasticsearch/api/actions/cat/aliases_spec.rb +16 -3
  184. data/spec/elasticsearch/api/actions/cat/allocation_spec.rb +16 -3
  185. data/spec/elasticsearch/api/actions/cat/count_spec.rb +16 -3
  186. data/spec/elasticsearch/api/actions/cat/fielddata_spec.rb +16 -3
  187. data/spec/elasticsearch/api/actions/cat/health_spec.rb +16 -3
  188. data/spec/elasticsearch/api/actions/cat/help_spec.rb +16 -3
  189. data/spec/elasticsearch/api/actions/cat/indices_spec.rb +16 -3
  190. data/spec/elasticsearch/api/actions/cat/master_spec.rb +16 -3
  191. data/spec/elasticsearch/api/actions/cat/nodeattrs_spec.rb +16 -3
  192. data/spec/elasticsearch/api/actions/cat/nodes_spec.rb +16 -3
  193. data/spec/elasticsearch/api/actions/cat/pending_tasks_spec.rb +16 -3
  194. data/spec/elasticsearch/api/actions/cat/plugins_spec.rb +16 -3
  195. data/spec/elasticsearch/api/actions/cat/recovery_spec.rb +16 -3
  196. data/spec/elasticsearch/api/actions/cat/repositories_spec.rb +16 -3
  197. data/spec/elasticsearch/api/actions/cat/segments_spec.rb +16 -3
  198. data/spec/elasticsearch/api/actions/cat/shards_spec.rb +16 -3
  199. data/spec/elasticsearch/api/actions/cat/snapshot_spec.rb +16 -3
  200. data/spec/elasticsearch/api/actions/cat/tasks_spec.rb +16 -3
  201. data/spec/elasticsearch/api/actions/cat/templates_spec.rb +16 -3
  202. data/spec/elasticsearch/api/actions/cat/thread_pool_spec.rb +16 -3
  203. data/spec/elasticsearch/api/actions/clear_scroll_spec.rb +16 -3
  204. data/spec/elasticsearch/api/actions/cluster/allocation_explain_spec.rb +16 -3
  205. data/spec/elasticsearch/api/actions/cluster/get_settings_spec.rb +16 -3
  206. data/spec/elasticsearch/api/actions/cluster/health_spec.rb +16 -3
  207. data/spec/elasticsearch/api/actions/cluster/pending_tasks_spec.rb +16 -3
  208. data/spec/elasticsearch/api/actions/cluster/put_settings_spec.rb +16 -3
  209. data/spec/elasticsearch/api/actions/cluster/remote_info_spec.rb +16 -3
  210. data/spec/elasticsearch/api/actions/cluster/reroute_spec.rb +16 -3
  211. data/spec/elasticsearch/api/actions/cluster/state_spec.rb +16 -3
  212. data/spec/elasticsearch/api/actions/cluster/stats_spec.rb +16 -3
  213. data/spec/elasticsearch/api/actions/count_spec.rb +18 -5
  214. data/spec/elasticsearch/api/actions/create_document_spec.rb +16 -3
  215. data/spec/elasticsearch/api/actions/dangling_indices/delete_dangling_indices_spec.rb +48 -0
  216. data/spec/elasticsearch/api/actions/dangling_indices/import_dangling_indices_spec.rb +48 -0
  217. data/spec/elasticsearch/api/actions/dangling_indices/list_dangling_indices_spec.rb +36 -0
  218. data/spec/elasticsearch/api/actions/delete_by_query_spec.rb +16 -3
  219. data/spec/elasticsearch/api/actions/delete_document_spec.rb +16 -3
  220. data/spec/elasticsearch/api/actions/delete_script_spec.rb +16 -3
  221. data/spec/elasticsearch/api/actions/exists_document_spec.rb +16 -3
  222. data/spec/elasticsearch/api/actions/explain_document_spec.rb +24 -12
  223. data/spec/elasticsearch/api/actions/field_caps_spec.rb +16 -3
  224. data/spec/elasticsearch/api/actions/get_document_source_spec.rb +16 -3
  225. data/spec/elasticsearch/api/actions/get_document_spec.rb +16 -3
  226. data/spec/elasticsearch/api/actions/get_script_spec.rb +16 -3
  227. data/spec/elasticsearch/api/actions/hashie_spec.rb +16 -3
  228. data/spec/elasticsearch/api/actions/index_document_spec.rb +16 -3
  229. data/spec/elasticsearch/api/actions/indices/add_block_spec.rb +63 -0
  230. data/spec/elasticsearch/api/actions/indices/analyze_spec.rb +23 -11
  231. data/spec/elasticsearch/api/actions/indices/clone_spec.rb +16 -3
  232. data/spec/elasticsearch/api/actions/indices/close_spec.rb +16 -3
  233. data/spec/elasticsearch/api/actions/indices/create_spec.rb +16 -3
  234. data/spec/elasticsearch/api/actions/indices/delete_alias_spec.rb +16 -3
  235. data/spec/elasticsearch/api/actions/indices/delete_spec.rb +16 -3
  236. data/spec/elasticsearch/api/actions/indices/delete_template_spec.rb +16 -3
  237. data/spec/elasticsearch/api/actions/indices/exists_alias_spec.rb +16 -3
  238. data/spec/elasticsearch/api/actions/indices/exists_spec.rb +16 -3
  239. data/spec/elasticsearch/api/actions/indices/exists_template_spec.rb +16 -3
  240. data/spec/elasticsearch/api/actions/indices/exists_type_spec.rb +16 -3
  241. data/spec/elasticsearch/api/actions/indices/flush_spec.rb +16 -3
  242. data/spec/elasticsearch/api/actions/indices/flush_synced_spec.rb +16 -3
  243. data/spec/elasticsearch/api/actions/indices/forcemerge_spec.rb +16 -3
  244. data/spec/elasticsearch/api/actions/indices/freeze_spec.rb +16 -3
  245. data/spec/elasticsearch/api/actions/indices/get_alias_spec.rb +16 -3
  246. data/spec/elasticsearch/api/actions/indices/get_field_mapping_spec.rb +16 -3
  247. data/spec/elasticsearch/api/actions/indices/get_mapping_spec.rb +16 -3
  248. data/spec/elasticsearch/api/actions/indices/get_settings_spec.rb +16 -3
  249. data/spec/elasticsearch/api/actions/indices/get_spec.rb +16 -3
  250. data/spec/elasticsearch/api/actions/indices/open_spec.rb +16 -3
  251. data/spec/elasticsearch/api/actions/indices/put_alias_spec.rb +16 -3
  252. data/spec/elasticsearch/api/actions/indices/put_mapping_spec.rb +16 -3
  253. data/spec/elasticsearch/api/actions/indices/put_settings_spec.rb +16 -3
  254. data/spec/elasticsearch/api/actions/indices/put_template_spec.rb +16 -3
  255. data/spec/elasticsearch/api/actions/indices/recovery_spec.rb +16 -3
  256. data/spec/elasticsearch/api/actions/indices/refresh_spec.rb +16 -3
  257. data/spec/elasticsearch/api/actions/indices/rollover_spec.rb +16 -3
  258. data/spec/elasticsearch/api/actions/indices/segments_spec.rb +16 -3
  259. data/spec/elasticsearch/api/actions/indices/shard_stores_spec.rb +16 -3
  260. data/spec/elasticsearch/api/actions/indices/shrink_spec.rb +16 -3
  261. data/spec/elasticsearch/api/actions/indices/split_spec.rb +16 -3
  262. data/spec/elasticsearch/api/actions/indices/stats_spec.rb +16 -3
  263. data/spec/elasticsearch/api/actions/indices/unfreeze_spec.rb +16 -3
  264. data/spec/elasticsearch/api/actions/indices/update_aliases_spec.rb +16 -3
  265. data/spec/elasticsearch/api/actions/indices/upgrade_spec.rb +16 -3
  266. data/spec/elasticsearch/api/actions/indices/validate_query_spec.rb +23 -16
  267. data/spec/elasticsearch/api/actions/info_spec.rb +16 -3
  268. data/spec/elasticsearch/api/actions/ingest/delete_pipeline_spec.rb +16 -3
  269. data/spec/elasticsearch/api/actions/ingest/get_pipeline_spec.rb +16 -3
  270. data/spec/elasticsearch/api/actions/ingest/put_pipeline_spec.rb +16 -3
  271. data/spec/elasticsearch/api/actions/ingest/simulate_spec.rb +22 -10
  272. data/spec/elasticsearch/api/actions/json_builders_spec.rb +26 -16
  273. data/spec/elasticsearch/api/actions/mget_spec.rb +21 -9
  274. data/spec/elasticsearch/api/actions/msearch_spec.rb +21 -9
  275. data/spec/elasticsearch/api/actions/msearch_template_spec.rb +21 -9
  276. data/spec/elasticsearch/api/actions/mtermvectors_spec.rb +23 -10
  277. data/spec/elasticsearch/api/actions/nodes/hot_threads_spec.rb +16 -3
  278. data/spec/elasticsearch/api/actions/nodes/info_spec.rb +16 -3
  279. data/spec/elasticsearch/api/actions/nodes/reload_secure_settings_spec.rb +25 -20
  280. data/spec/elasticsearch/api/actions/nodes/shutdown_spec.rb +76 -0
  281. data/spec/elasticsearch/api/actions/nodes/stats_spec.rb +16 -3
  282. data/spec/elasticsearch/api/actions/ping_spec.rb +16 -3
  283. data/spec/elasticsearch/api/actions/put_script_spec.rb +16 -3
  284. data/spec/elasticsearch/api/actions/reindex_spec.rb +16 -3
  285. data/spec/elasticsearch/api/actions/remote/info_spec.rb +35 -0
  286. data/spec/elasticsearch/api/actions/render_search_template_spec.rb +18 -5
  287. data/spec/elasticsearch/api/actions/scroll_spec.rb +17 -4
  288. data/spec/elasticsearch/api/actions/search_shards_spec.rb +16 -3
  289. data/spec/elasticsearch/api/actions/search_spec.rb +23 -10
  290. data/spec/elasticsearch/api/actions/search_template_spec.rb +21 -9
  291. data/spec/elasticsearch/api/actions/snapshot/create_repository_spec.rb +16 -3
  292. data/spec/elasticsearch/api/actions/snapshot/create_spec.rb +16 -3
  293. data/spec/elasticsearch/api/actions/snapshot/delete_repository_spec.rb +16 -3
  294. data/spec/elasticsearch/api/actions/snapshot/delete_spec.rb +16 -3
  295. data/spec/elasticsearch/api/actions/snapshot/get_repository_spec.rb +16 -3
  296. data/spec/elasticsearch/api/actions/snapshot/get_spec.rb +16 -3
  297. data/spec/elasticsearch/api/actions/snapshot/restore_spec.rb +16 -3
  298. data/spec/elasticsearch/api/actions/snapshot/status_spec.rb +16 -3
  299. data/spec/elasticsearch/api/actions/snapshot/verify_repository_spec.rb +16 -3
  300. data/spec/elasticsearch/api/actions/tasks/cancel_spec.rb +16 -3
  301. data/spec/elasticsearch/api/actions/tasks/get_spec.rb +16 -3
  302. data/spec/elasticsearch/api/actions/tasks/list_spec.rb +16 -3
  303. data/spec/elasticsearch/api/actions/termvectors_spec.rb +21 -10
  304. data/spec/elasticsearch/api/actions/update_by_query_spec.rb +16 -3
  305. data/spec/elasticsearch/api/actions/update_document_spec.rb +16 -3
  306. data/spec/elasticsearch/api/api_spec.rb +16 -3
  307. data/spec/elasticsearch/api/client_spec.rb +16 -3
  308. data/spec/elasticsearch/api/rest_api_yaml_spec.rb +0 -1
  309. data/spec/elasticsearch/api/utils_spec.rb +16 -3
  310. data/spec/rest_yaml_tests_helper.rb +16 -7
  311. data/spec/spec_helper.rb +22 -8
  312. data/utils/Gemfile +16 -3
  313. data/utils/thor/.rubocop.yml +2 -0
  314. data/utils/thor/generate_source.rb +70 -22
  315. data/utils/thor/generator/endpoint_specifics.rb +24 -4
  316. data/utils/thor/generator/files_helper.rb +16 -3
  317. data/utils/thor/lister.rb +16 -3
  318. data/utils/thor/templates/_documentation_top.erb +12 -1
  319. data/utils/thor/templates/method.erb +16 -3
  320. data/utils/thor/templates/test_helper.rb +16 -3
  321. metadata +40 -11
  322. data/lib/elasticsearch/api/actions/indices/create_data_stream.rb +0 -37
  323. data/lib/elasticsearch/api/actions/indices/delete_data_stream.rb +0 -35
  324. data/lib/elasticsearch/api/actions/indices/get_data_streams.rb +0 -37
  325. data/spec/README.md +0 -61
  326. data/test/integration/yaml_test_runner.rb +0 -579
  327. data/test/test_helper.rb +0 -105
@@ -0,0 +1,66 @@
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+ module Elasticsearch
19
+ module API
20
+ module Indices
21
+ module Actions
22
+ # Returns an index template.
23
+ # This functionality is Experimental and may be changed or removed
24
+ # completely in a future release. Elastic will take a best effort approach
25
+ # to fix any issues, but experimental features are not subject to the
26
+ # support SLA of official GA features.
27
+ #
28
+ # @option arguments [List] :name The comma separated names of the index templates
29
+ # @option arguments [Boolean] :flat_settings Return settings in flat format (default: false)
30
+ # @option arguments [Time] :master_timeout Explicit operation timeout for connection to master node
31
+ # @option arguments [Boolean] :local Return local information, do not retrieve the state from master node (default: false)
32
+ # @option arguments [Hash] :headers Custom HTTP headers
33
+ #
34
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.9/indices-templates.html
35
+ #
36
+ def get_index_template(arguments = {})
37
+ headers = arguments.delete(:headers) || {}
38
+
39
+ arguments = arguments.clone
40
+
41
+ _name = arguments.delete(:name)
42
+
43
+ method = Elasticsearch::API::HTTP_GET
44
+ path = if _name
45
+ "_index_template/#{Utils.__listify(_name)}"
46
+ else
47
+ "_index_template"
48
+ end
49
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
50
+
51
+ body = nil
52
+ perform_request(method, path, params, body, headers).body
53
+ end
54
+
55
+ # Register this action with its valid params when the module is loaded.
56
+ #
57
+ # @since 6.2.0
58
+ ParamsRegistry.register(:get_index_template, [
59
+ :flat_settings,
60
+ :master_timeout,
61
+ :local
62
+ ].freeze)
63
+ end
64
+ end
65
+ end
66
+ end
@@ -1,6 +1,19 @@
1
- # Licensed to Elasticsearch B.V under one or more agreements.
2
- # Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
3
- # See the LICENSE file in the project root for more information
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
4
17
 
5
18
  module Elasticsearch
6
19
  module API
@@ -9,15 +22,13 @@ module Elasticsearch
9
22
  # Returns mappings for one or more indices.
10
23
  #
11
24
  # @option arguments [List] :index A comma-separated list of index names
12
- # @option arguments [List] :type A comma-separated list of document types *Deprecated*
25
+ # @option arguments [List] :type A comma-separated list of document types *Deprecated*
13
26
  # @option arguments [Boolean] :include_type_name Whether to add the type name to the response (default: false)
14
27
  # @option arguments [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when unavailable (missing or closed)
15
28
  # @option arguments [Boolean] :allow_no_indices Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified)
16
- # @option arguments [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that are open, closed or both.
17
- # (options: open,closed,hidden,none,all)
18
-
29
+ # @option arguments [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that are open, closed or both. (options: open, closed, hidden, none, all)
19
30
  # @option arguments [Time] :master_timeout Specify timeout for connection to master
20
- # @option arguments [Boolean] :local Return local information, do not retrieve the state from master node (default: false)
31
+ # @option arguments [Boolean] :local Return local information, do not retrieve the state from master node (default: false) *Deprecated*
21
32
  # @option arguments [Hash] :headers Custom HTTP headers
22
33
  #
23
34
  # *Deprecation notice*:
@@ -25,7 +36,7 @@ module Elasticsearch
25
36
  # Deprecated since version 7.0.0
26
37
  #
27
38
  #
28
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.7/indices-get-mapping.html
39
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.9/indices-get-mapping.html
29
40
  #
30
41
  def get_mapping(arguments = {})
31
42
  headers = arguments.delete(:headers) || {}
@@ -45,7 +56,7 @@ module Elasticsearch
45
56
  "_mapping/#{Utils.__listify(_type)}"
46
57
  else
47
58
  "_mapping"
48
- end
59
+ end
49
60
  params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
50
61
 
51
62
  body = nil
@@ -63,7 +74,7 @@ module Elasticsearch
63
74
  :master_timeout,
64
75
  :local
65
76
  ].freeze)
66
- end
67
77
  end
78
+ end
68
79
  end
69
80
  end
@@ -1,6 +1,19 @@
1
- # Licensed to Elasticsearch B.V under one or more agreements.
2
- # Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
3
- # See the LICENSE file in the project root for more information
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
4
17
 
5
18
  module Elasticsearch
6
19
  module API
@@ -13,15 +26,13 @@ module Elasticsearch
13
26
  # @option arguments [Time] :master_timeout Specify timeout for connection to master
14
27
  # @option arguments [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when unavailable (missing or closed)
15
28
  # @option arguments [Boolean] :allow_no_indices Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified)
16
- # @option arguments [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that are open, closed or both.
17
- # (options: open,closed,hidden,none,all)
18
-
29
+ # @option arguments [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that are open, closed or both. (options: open, closed, hidden, none, all)
19
30
  # @option arguments [Boolean] :flat_settings Return settings in flat format (default: false)
20
31
  # @option arguments [Boolean] :local Return local information, do not retrieve the state from master node (default: false)
21
32
  # @option arguments [Boolean] :include_defaults Whether to return all default setting for each of the indices.
22
33
  # @option arguments [Hash] :headers Custom HTTP headers
23
34
  #
24
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.7/indices-get-settings.html
35
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.9/indices-get-settings.html
25
36
  #
26
37
  def get_settings(arguments = {})
27
38
  headers = arguments.delete(:headers) || {}
@@ -41,7 +52,7 @@ module Elasticsearch
41
52
  "_settings/#{Utils.__listify(_name)}"
42
53
  else
43
54
  "_settings"
44
- end
55
+ end
45
56
  params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
46
57
 
47
58
  body = nil
@@ -60,7 +71,7 @@ module Elasticsearch
60
71
  :local,
61
72
  :include_defaults
62
73
  ].freeze)
63
- end
64
74
  end
75
+ end
65
76
  end
66
77
  end
@@ -1,6 +1,19 @@
1
- # Licensed to Elasticsearch B.V under one or more agreements.
2
- # Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
3
- # See the LICENSE file in the project root for more information
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
4
17
 
5
18
  module Elasticsearch
6
19
  module API
@@ -15,7 +28,7 @@ module Elasticsearch
15
28
  # @option arguments [Boolean] :local Return local information, do not retrieve the state from master node (default: false)
16
29
  # @option arguments [Hash] :headers Custom HTTP headers
17
30
  #
18
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.7/indices-templates.html
31
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.9/indices-templates.html
19
32
  #
20
33
  def get_template(arguments = {})
21
34
  headers = arguments.delete(:headers) || {}
@@ -29,7 +42,7 @@ module Elasticsearch
29
42
  "_template/#{Utils.__listify(_name)}"
30
43
  else
31
44
  "_template"
32
- end
45
+ end
33
46
  params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
34
47
 
35
48
  body = nil
@@ -45,7 +58,7 @@ module Elasticsearch
45
58
  :master_timeout,
46
59
  :local
47
60
  ].freeze)
48
- end
49
61
  end
62
+ end
50
63
  end
51
64
  end
@@ -1,6 +1,19 @@
1
- # Licensed to Elasticsearch B.V under one or more agreements.
2
- # Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
3
- # See the LICENSE file in the project root for more information
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
4
17
 
5
18
  module Elasticsearch
6
19
  module API
@@ -11,12 +24,10 @@ module Elasticsearch
11
24
  # @option arguments [List] :index A comma-separated list of index names; use `_all` or empty string to perform the operation on all indices
12
25
  # @option arguments [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when unavailable (missing or closed)
13
26
  # @option arguments [Boolean] :allow_no_indices Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified)
14
- # @option arguments [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that are open, closed or both.
15
- # (options: open,closed,hidden,none,all)
16
-
27
+ # @option arguments [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that are open, closed or both. (options: open, closed, hidden, none, all)
17
28
  # @option arguments [Hash] :headers Custom HTTP headers
18
29
  #
19
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.7/indices-upgrade.html
30
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.9/indices-upgrade.html
20
31
  #
21
32
  def get_upgrade(arguments = {})
22
33
  headers = arguments.delete(:headers) || {}
@@ -30,7 +41,7 @@ module Elasticsearch
30
41
  "#{Utils.__listify(_index)}/_upgrade"
31
42
  else
32
43
  "_upgrade"
33
- end
44
+ end
34
45
  params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
35
46
 
36
47
  body = nil
@@ -45,7 +56,7 @@ module Elasticsearch
45
56
  :allow_no_indices,
46
57
  :expand_wildcards
47
58
  ].freeze)
48
- end
49
59
  end
60
+ end
50
61
  end
51
62
  end
@@ -1,6 +1,19 @@
1
- # Licensed to Elasticsearch B.V under one or more agreements.
2
- # Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
3
- # See the LICENSE file in the project root for more information
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
4
17
 
5
18
  module Elasticsearch
6
19
  module API
@@ -13,13 +26,11 @@ module Elasticsearch
13
26
  # @option arguments [Time] :master_timeout Specify timeout for connection to master
14
27
  # @option arguments [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when unavailable (missing or closed)
15
28
  # @option arguments [Boolean] :allow_no_indices Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified)
16
- # @option arguments [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that are open, closed or both.
17
- # (options: open,closed,hidden,none,all)
18
-
29
+ # @option arguments [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that are open, closed or both. (options: open, closed, hidden, none, all)
19
30
  # @option arguments [String] :wait_for_active_shards Sets the number of active shards to wait for before the operation returns.
20
31
  # @option arguments [Hash] :headers Custom HTTP headers
21
32
  #
22
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.7/indices-open-close.html
33
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.9/indices-open-close.html
23
34
  #
24
35
  def open(arguments = {})
25
36
  raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
@@ -49,7 +60,7 @@ module Elasticsearch
49
60
  :expand_wildcards,
50
61
  :wait_for_active_shards
51
62
  ].freeze)
52
- end
53
63
  end
64
+ end
54
65
  end
55
66
  end
@@ -1,6 +1,19 @@
1
- # Licensed to Elasticsearch B.V under one or more agreements.
2
- # Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
3
- # See the LICENSE file in the project root for more information
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
4
17
 
5
18
  module Elasticsearch
6
19
  module API
@@ -1,6 +1,19 @@
1
- # Licensed to Elasticsearch B.V under one or more agreements.
2
- # Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
3
- # See the LICENSE file in the project root for more information
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
4
17
 
5
18
  module Elasticsearch
6
19
  module API
@@ -15,7 +28,7 @@ module Elasticsearch
15
28
  # @option arguments [Hash] :headers Custom HTTP headers
16
29
  # @option arguments [Hash] :body The settings for the alias, such as `routing` or `filter`
17
30
  #
18
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.7/indices-aliases.html
31
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.9/indices-aliases.html
19
32
  #
20
33
  def put_alias(arguments = {})
21
34
  raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
@@ -32,7 +45,7 @@ module Elasticsearch
32
45
  method = Elasticsearch::API::HTTP_PUT
33
46
  path = if _index && _name
34
47
  "#{Utils.__listify(_index)}/_aliases/#{Utils.__listify(_name)}"
35
- end
48
+ end
36
49
  params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
37
50
 
38
51
  body = arguments[:body]
@@ -46,7 +59,7 @@ module Elasticsearch
46
59
  :timeout,
47
60
  :master_timeout
48
61
  ].freeze)
49
- end
50
62
  end
63
+ end
51
64
  end
52
65
  end
@@ -0,0 +1,66 @@
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+ module Elasticsearch
19
+ module API
20
+ module Indices
21
+ module Actions
22
+ # Creates or updates an index template.
23
+ # This functionality is Experimental and may be changed or removed
24
+ # completely in a future release. Elastic will take a best effort approach
25
+ # to fix any issues, but experimental features are not subject to the
26
+ # support SLA of official GA features.
27
+ #
28
+ # @option arguments [String] :name The name of the template
29
+ # @option arguments [Boolean] :create Whether the index template should only be added if new or can also replace an existing one
30
+ # @option arguments [String] :cause User defined reason for creating/updating the index template
31
+ # @option arguments [Time] :master_timeout Specify timeout for connection to master
32
+ # @option arguments [Hash] :headers Custom HTTP headers
33
+ # @option arguments [Hash] :body The template definition (*Required*)
34
+ #
35
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.9/indices-templates.html
36
+ #
37
+ def put_index_template(arguments = {})
38
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
39
+ raise ArgumentError, "Required argument 'name' missing" unless arguments[:name]
40
+
41
+ headers = arguments.delete(:headers) || {}
42
+
43
+ arguments = arguments.clone
44
+
45
+ _name = arguments.delete(:name)
46
+
47
+ method = Elasticsearch::API::HTTP_PUT
48
+ path = "_index_template/#{Utils.__listify(_name)}"
49
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
50
+
51
+ body = arguments[:body]
52
+ perform_request(method, path, params, body, headers).body
53
+ end
54
+
55
+ # Register this action with its valid params when the module is loaded.
56
+ #
57
+ # @since 6.2.0
58
+ ParamsRegistry.register(:put_index_template, [
59
+ :create,
60
+ :cause,
61
+ :master_timeout
62
+ ].freeze)
63
+ end
64
+ end
65
+ end
66
+ end