elasticsearch-api 8.0.1 → 8.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 (438) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/api-spec-testing/rspec_matchers.rb +4 -3
  4. data/api-spec-testing/test_file/action.rb +102 -58
  5. data/api-spec-testing/test_file.rb +9 -3
  6. data/lib/elasticsearch/api/actions/async_search/delete.rb +1 -1
  7. data/lib/elasticsearch/api/actions/async_search/get.rb +1 -1
  8. data/lib/elasticsearch/api/actions/async_search/status.rb +1 -1
  9. data/lib/elasticsearch/api/actions/async_search/submit.rb +1 -1
  10. data/lib/elasticsearch/api/actions/autoscaling/delete_autoscaling_policy.rb +1 -1
  11. data/lib/elasticsearch/api/actions/autoscaling/get_autoscaling_capacity.rb +1 -1
  12. data/lib/elasticsearch/api/actions/autoscaling/get_autoscaling_policy.rb +1 -1
  13. data/lib/elasticsearch/api/actions/autoscaling/put_autoscaling_policy.rb +1 -1
  14. data/lib/elasticsearch/api/actions/bulk.rb +2 -1
  15. data/lib/elasticsearch/api/actions/cat/aliases.rb +1 -1
  16. data/lib/elasticsearch/api/actions/cat/allocation.rb +1 -1
  17. data/lib/elasticsearch/api/actions/cat/component_templates.rb +59 -0
  18. data/lib/elasticsearch/api/actions/cat/count.rb +1 -1
  19. data/lib/elasticsearch/api/actions/cat/fielddata.rb +1 -1
  20. data/lib/elasticsearch/api/actions/cat/health.rb +1 -1
  21. data/lib/elasticsearch/api/actions/cat/help.rb +1 -1
  22. data/lib/elasticsearch/api/actions/cat/indices.rb +1 -1
  23. data/lib/elasticsearch/api/actions/cat/master.rb +1 -1
  24. data/lib/elasticsearch/api/actions/cat/ml_data_frame_analytics.rb +1 -1
  25. data/lib/elasticsearch/api/actions/cat/ml_datafeeds.rb +1 -2
  26. data/lib/elasticsearch/api/actions/cat/ml_jobs.rb +1 -2
  27. data/lib/elasticsearch/api/actions/cat/ml_trained_models.rb +1 -1
  28. data/lib/elasticsearch/api/actions/cat/nodeattrs.rb +1 -1
  29. data/lib/elasticsearch/api/actions/cat/nodes.rb +1 -1
  30. data/lib/elasticsearch/api/actions/cat/pending_tasks.rb +1 -1
  31. data/lib/elasticsearch/api/actions/cat/plugins.rb +1 -1
  32. data/lib/elasticsearch/api/actions/cat/recovery.rb +1 -1
  33. data/lib/elasticsearch/api/actions/cat/repositories.rb +1 -1
  34. data/lib/elasticsearch/api/actions/cat/segments.rb +1 -1
  35. data/lib/elasticsearch/api/actions/cat/shards.rb +1 -1
  36. data/lib/elasticsearch/api/actions/cat/snapshots.rb +1 -1
  37. data/lib/elasticsearch/api/actions/cat/tasks.rb +1 -1
  38. data/lib/elasticsearch/api/actions/cat/templates.rb +1 -1
  39. data/lib/elasticsearch/api/actions/cat/thread_pool.rb +1 -1
  40. data/lib/elasticsearch/api/actions/cat/transforms.rb +1 -1
  41. data/lib/elasticsearch/api/actions/clear_scroll.rb +1 -1
  42. data/lib/elasticsearch/api/actions/close_point_in_time.rb +1 -1
  43. data/lib/elasticsearch/api/actions/cluster/allocation_explain.rb +1 -1
  44. data/lib/elasticsearch/api/actions/cluster/delete_component_template.rb +1 -1
  45. data/lib/elasticsearch/api/actions/cluster/delete_voting_config_exclusions.rb +1 -1
  46. data/lib/elasticsearch/api/actions/cluster/exists_component_template.rb +1 -1
  47. data/lib/elasticsearch/api/actions/cluster/get_component_template.rb +1 -1
  48. data/lib/elasticsearch/api/actions/cluster/get_settings.rb +1 -1
  49. data/lib/elasticsearch/api/actions/cluster/health.rb +1 -1
  50. data/lib/elasticsearch/api/actions/cluster/pending_tasks.rb +1 -1
  51. data/lib/elasticsearch/api/actions/cluster/post_voting_config_exclusions.rb +1 -1
  52. data/lib/elasticsearch/api/actions/cluster/put_component_template.rb +1 -1
  53. data/lib/elasticsearch/api/actions/cluster/put_settings.rb +1 -1
  54. data/lib/elasticsearch/api/actions/cluster/remote_info.rb +1 -1
  55. data/lib/elasticsearch/api/actions/cluster/reroute.rb +1 -1
  56. data/lib/elasticsearch/api/actions/cluster/state.rb +1 -1
  57. data/lib/elasticsearch/api/actions/cluster/stats.rb +1 -1
  58. data/lib/elasticsearch/api/actions/count.rb +1 -1
  59. data/lib/elasticsearch/api/actions/create.rb +1 -1
  60. data/lib/elasticsearch/api/actions/cross_cluster_replication/delete_auto_follow_pattern.rb +1 -1
  61. data/lib/elasticsearch/api/actions/cross_cluster_replication/follow.rb +1 -1
  62. data/lib/elasticsearch/api/actions/cross_cluster_replication/follow_info.rb +1 -1
  63. data/lib/elasticsearch/api/actions/cross_cluster_replication/follow_stats.rb +1 -1
  64. data/lib/elasticsearch/api/actions/cross_cluster_replication/forget_follower.rb +1 -1
  65. data/lib/elasticsearch/api/actions/cross_cluster_replication/get_auto_follow_pattern.rb +1 -1
  66. data/lib/elasticsearch/api/actions/cross_cluster_replication/pause_auto_follow_pattern.rb +1 -1
  67. data/lib/elasticsearch/api/actions/cross_cluster_replication/pause_follow.rb +1 -1
  68. data/lib/elasticsearch/api/actions/cross_cluster_replication/put_auto_follow_pattern.rb +1 -1
  69. data/lib/elasticsearch/api/actions/cross_cluster_replication/resume_auto_follow_pattern.rb +1 -1
  70. data/lib/elasticsearch/api/actions/cross_cluster_replication/resume_follow.rb +1 -1
  71. data/lib/elasticsearch/api/actions/cross_cluster_replication/stats.rb +1 -1
  72. data/lib/elasticsearch/api/actions/cross_cluster_replication/unfollow.rb +1 -1
  73. data/lib/elasticsearch/api/actions/dangling_indices/delete_dangling_index.rb +1 -1
  74. data/lib/elasticsearch/api/actions/dangling_indices/import_dangling_index.rb +1 -1
  75. data/lib/elasticsearch/api/actions/dangling_indices/list_dangling_indices.rb +1 -1
  76. data/lib/elasticsearch/api/actions/delete.rb +1 -1
  77. data/lib/elasticsearch/api/actions/delete_by_query.rb +1 -1
  78. data/lib/elasticsearch/api/actions/delete_by_query_rethrottle.rb +1 -1
  79. data/lib/elasticsearch/api/actions/delete_script.rb +1 -1
  80. data/lib/elasticsearch/api/actions/enrich/delete_policy.rb +1 -1
  81. data/lib/elasticsearch/api/actions/enrich/execute_policy.rb +1 -1
  82. data/lib/elasticsearch/api/actions/enrich/get_policy.rb +1 -1
  83. data/lib/elasticsearch/api/actions/enrich/put_policy.rb +1 -1
  84. data/lib/elasticsearch/api/actions/enrich/stats.rb +1 -1
  85. data/lib/elasticsearch/api/actions/eql/delete.rb +1 -1
  86. data/lib/elasticsearch/api/actions/eql/get.rb +1 -1
  87. data/lib/elasticsearch/api/actions/eql/get_status.rb +1 -1
  88. data/lib/elasticsearch/api/actions/eql/search.rb +1 -1
  89. data/lib/elasticsearch/api/actions/exists.rb +1 -1
  90. data/lib/elasticsearch/api/actions/exists_source.rb +1 -1
  91. data/lib/elasticsearch/api/actions/explain.rb +1 -1
  92. data/lib/elasticsearch/api/actions/features/get_features.rb +1 -1
  93. data/lib/elasticsearch/api/actions/features/reset_features.rb +1 -1
  94. data/lib/elasticsearch/api/actions/field_caps.rb +3 -1
  95. data/lib/elasticsearch/api/actions/fleet/global_checkpoints.rb +1 -1
  96. data/lib/elasticsearch/api/actions/fleet/msearch.rb +82 -0
  97. data/lib/elasticsearch/api/actions/fleet/search.rb +65 -0
  98. data/lib/elasticsearch/api/actions/get.rb +1 -1
  99. data/lib/elasticsearch/api/actions/get_script.rb +1 -1
  100. data/lib/elasticsearch/api/actions/get_script_context.rb +1 -1
  101. data/lib/elasticsearch/api/actions/get_script_languages.rb +1 -1
  102. data/lib/elasticsearch/api/actions/get_source.rb +1 -1
  103. data/lib/elasticsearch/api/actions/graph/explore.rb +1 -1
  104. data/lib/elasticsearch/api/actions/index.rb +1 -1
  105. data/lib/elasticsearch/api/actions/index_lifecycle_management/delete_lifecycle.rb +1 -1
  106. data/lib/elasticsearch/api/actions/index_lifecycle_management/explain_lifecycle.rb +1 -1
  107. data/lib/elasticsearch/api/actions/index_lifecycle_management/get_lifecycle.rb +1 -1
  108. data/lib/elasticsearch/api/actions/index_lifecycle_management/get_status.rb +1 -1
  109. data/lib/elasticsearch/api/actions/index_lifecycle_management/migrate_to_data_tiers.rb +1 -1
  110. data/lib/elasticsearch/api/actions/index_lifecycle_management/move_to_step.rb +1 -1
  111. data/lib/elasticsearch/api/actions/index_lifecycle_management/put_lifecycle.rb +1 -1
  112. data/lib/elasticsearch/api/actions/index_lifecycle_management/remove_policy.rb +1 -1
  113. data/lib/elasticsearch/api/actions/index_lifecycle_management/retry.rb +1 -1
  114. data/lib/elasticsearch/api/actions/index_lifecycle_management/start.rb +1 -1
  115. data/lib/elasticsearch/api/actions/index_lifecycle_management/stop.rb +1 -1
  116. data/lib/elasticsearch/api/actions/indices/add_block.rb +1 -1
  117. data/lib/elasticsearch/api/actions/indices/analyze.rb +1 -1
  118. data/lib/elasticsearch/api/actions/indices/clear_cache.rb +1 -1
  119. data/lib/elasticsearch/api/actions/indices/clone.rb +1 -1
  120. data/lib/elasticsearch/api/actions/indices/close.rb +1 -1
  121. data/lib/elasticsearch/api/actions/indices/create.rb +1 -1
  122. data/lib/elasticsearch/api/actions/indices/create_data_stream.rb +1 -1
  123. data/lib/elasticsearch/api/actions/indices/data_streams_stats.rb +1 -1
  124. data/lib/elasticsearch/api/actions/indices/delete.rb +1 -1
  125. data/lib/elasticsearch/api/actions/indices/delete_alias.rb +1 -1
  126. data/lib/elasticsearch/api/actions/indices/delete_data_stream.rb +1 -1
  127. data/lib/elasticsearch/api/actions/indices/delete_index_template.rb +1 -1
  128. data/lib/elasticsearch/api/actions/indices/delete_template.rb +1 -1
  129. data/lib/elasticsearch/api/actions/indices/disk_usage.rb +1 -1
  130. data/lib/elasticsearch/api/actions/indices/exists.rb +1 -1
  131. data/lib/elasticsearch/api/actions/indices/exists_alias.rb +1 -1
  132. data/lib/elasticsearch/api/actions/indices/exists_index_template.rb +1 -1
  133. data/lib/elasticsearch/api/actions/indices/exists_template.rb +1 -1
  134. data/lib/elasticsearch/api/actions/indices/field_usage_stats.rb +1 -1
  135. data/lib/elasticsearch/api/actions/indices/flush.rb +1 -1
  136. data/lib/elasticsearch/api/actions/indices/forcemerge.rb +2 -1
  137. data/lib/elasticsearch/api/actions/indices/get.rb +2 -1
  138. data/lib/elasticsearch/api/actions/indices/get_alias.rb +1 -1
  139. data/lib/elasticsearch/api/actions/indices/get_data_stream.rb +1 -1
  140. data/lib/elasticsearch/api/actions/indices/get_field_mapping.rb +1 -1
  141. data/lib/elasticsearch/api/actions/indices/get_index_template.rb +2 -2
  142. data/lib/elasticsearch/api/actions/indices/get_mapping.rb +1 -1
  143. data/lib/elasticsearch/api/actions/indices/get_settings.rb +1 -1
  144. data/lib/elasticsearch/api/actions/indices/get_template.rb +1 -1
  145. data/lib/elasticsearch/api/actions/indices/migrate_to_data_stream.rb +1 -1
  146. data/lib/elasticsearch/api/actions/indices/modify_data_stream.rb +1 -1
  147. data/lib/elasticsearch/api/actions/indices/open.rb +1 -1
  148. data/lib/elasticsearch/api/actions/indices/promote_data_stream.rb +1 -1
  149. data/lib/elasticsearch/api/actions/indices/put_alias.rb +1 -1
  150. data/lib/elasticsearch/api/actions/indices/put_index_template.rb +1 -1
  151. data/lib/elasticsearch/api/actions/indices/put_mapping.rb +1 -1
  152. data/lib/elasticsearch/api/actions/indices/put_settings.rb +1 -1
  153. data/lib/elasticsearch/api/actions/indices/put_template.rb +1 -1
  154. data/lib/elasticsearch/api/actions/indices/recovery.rb +1 -1
  155. data/lib/elasticsearch/api/actions/indices/refresh.rb +1 -1
  156. data/lib/elasticsearch/api/actions/indices/reload_search_analyzers.rb +1 -1
  157. data/lib/elasticsearch/api/actions/indices/resolve_index.rb +1 -1
  158. data/lib/elasticsearch/api/actions/indices/rollover.rb +1 -1
  159. data/lib/elasticsearch/api/actions/indices/segments.rb +1 -1
  160. data/lib/elasticsearch/api/actions/indices/shard_stores.rb +1 -1
  161. data/lib/elasticsearch/api/actions/indices/shrink.rb +1 -1
  162. data/lib/elasticsearch/api/actions/indices/simulate_index_template.rb +1 -1
  163. data/lib/elasticsearch/api/actions/indices/simulate_template.rb +1 -1
  164. data/lib/elasticsearch/api/actions/indices/split.rb +1 -1
  165. data/lib/elasticsearch/api/actions/indices/stats.rb +1 -1
  166. data/lib/elasticsearch/api/actions/indices/unfreeze.rb +1 -1
  167. data/lib/elasticsearch/api/actions/indices/update_aliases.rb +1 -1
  168. data/lib/elasticsearch/api/actions/indices/validate_query.rb +1 -1
  169. data/lib/elasticsearch/api/actions/info.rb +1 -1
  170. data/lib/elasticsearch/api/actions/ingest/delete_pipeline.rb +1 -1
  171. data/lib/elasticsearch/api/actions/ingest/geo_ip_stats.rb +1 -1
  172. data/lib/elasticsearch/api/actions/ingest/get_pipeline.rb +1 -1
  173. data/lib/elasticsearch/api/actions/ingest/processor_grok.rb +1 -1
  174. data/lib/elasticsearch/api/actions/ingest/put_pipeline.rb +2 -1
  175. data/lib/elasticsearch/api/actions/ingest/simulate.rb +1 -1
  176. data/lib/elasticsearch/api/actions/knn_search.rb +2 -2
  177. data/lib/elasticsearch/api/actions/license/delete.rb +1 -1
  178. data/lib/elasticsearch/api/actions/license/get.rb +1 -1
  179. data/lib/elasticsearch/api/actions/license/get_basic_status.rb +1 -1
  180. data/lib/elasticsearch/api/actions/license/get_trial_status.rb +1 -1
  181. data/lib/elasticsearch/api/actions/license/post.rb +1 -1
  182. data/lib/elasticsearch/api/actions/license/post_start_basic.rb +1 -1
  183. data/lib/elasticsearch/api/actions/license/post_start_trial.rb +1 -1
  184. data/lib/elasticsearch/api/actions/logstash/delete_pipeline.rb +1 -1
  185. data/lib/elasticsearch/api/actions/logstash/get_pipeline.rb +1 -1
  186. data/lib/elasticsearch/api/actions/logstash/put_pipeline.rb +1 -1
  187. data/lib/elasticsearch/api/actions/machine_learning/close_job.rb +1 -2
  188. data/lib/elasticsearch/api/actions/machine_learning/delete_calendar.rb +1 -1
  189. data/lib/elasticsearch/api/actions/machine_learning/delete_calendar_event.rb +1 -1
  190. data/lib/elasticsearch/api/actions/machine_learning/delete_calendar_job.rb +1 -1
  191. data/lib/elasticsearch/api/actions/machine_learning/delete_data_frame_analytics.rb +1 -1
  192. data/lib/elasticsearch/api/actions/machine_learning/delete_datafeed.rb +1 -1
  193. data/lib/elasticsearch/api/actions/machine_learning/delete_expired_data.rb +1 -1
  194. data/lib/elasticsearch/api/actions/machine_learning/delete_filter.rb +1 -1
  195. data/lib/elasticsearch/api/actions/machine_learning/delete_forecast.rb +1 -1
  196. data/lib/elasticsearch/api/actions/machine_learning/delete_job.rb +1 -1
  197. data/lib/elasticsearch/api/actions/machine_learning/delete_model_snapshot.rb +1 -1
  198. data/lib/elasticsearch/api/actions/machine_learning/delete_trained_model.rb +4 -2
  199. data/lib/elasticsearch/api/actions/machine_learning/delete_trained_model_alias.rb +1 -1
  200. data/lib/elasticsearch/api/actions/machine_learning/estimate_model_memory.rb +1 -1
  201. data/lib/elasticsearch/api/actions/machine_learning/evaluate_data_frame.rb +1 -1
  202. data/lib/elasticsearch/api/actions/machine_learning/explain_data_frame_analytics.rb +1 -1
  203. data/lib/elasticsearch/api/actions/machine_learning/flush_job.rb +1 -1
  204. data/lib/elasticsearch/api/actions/machine_learning/forecast.rb +1 -1
  205. data/lib/elasticsearch/api/actions/machine_learning/get_buckets.rb +1 -1
  206. data/lib/elasticsearch/api/actions/machine_learning/get_calendar_events.rb +1 -1
  207. data/lib/elasticsearch/api/actions/machine_learning/get_calendars.rb +1 -1
  208. data/lib/elasticsearch/api/actions/machine_learning/get_categories.rb +1 -1
  209. data/lib/elasticsearch/api/actions/machine_learning/get_data_frame_analytics.rb +1 -1
  210. data/lib/elasticsearch/api/actions/machine_learning/get_data_frame_analytics_stats.rb +1 -1
  211. data/lib/elasticsearch/api/actions/machine_learning/get_datafeed_stats.rb +1 -2
  212. data/lib/elasticsearch/api/actions/machine_learning/get_datafeeds.rb +1 -2
  213. data/lib/elasticsearch/api/actions/machine_learning/get_filters.rb +1 -1
  214. data/lib/elasticsearch/api/actions/machine_learning/get_influencers.rb +1 -1
  215. data/lib/elasticsearch/api/actions/machine_learning/get_job_stats.rb +1 -2
  216. data/lib/elasticsearch/api/actions/machine_learning/get_jobs.rb +1 -2
  217. data/lib/elasticsearch/api/actions/machine_learning/get_memory_stats.rb +54 -0
  218. data/lib/elasticsearch/api/actions/machine_learning/get_model_snapshot_upgrade_stats.rb +1 -1
  219. data/lib/elasticsearch/api/actions/machine_learning/get_model_snapshots.rb +1 -1
  220. data/lib/elasticsearch/api/actions/machine_learning/get_overall_buckets.rb +1 -2
  221. data/lib/elasticsearch/api/actions/machine_learning/get_records.rb +1 -1
  222. data/lib/elasticsearch/api/actions/machine_learning/get_trained_models.rb +1 -1
  223. data/lib/elasticsearch/api/actions/machine_learning/get_trained_models_stats.rb +1 -1
  224. data/lib/elasticsearch/api/actions/machine_learning/infer_trained_model_deployment.rb +1 -1
  225. data/lib/elasticsearch/api/actions/machine_learning/info.rb +1 -1
  226. data/lib/elasticsearch/api/actions/machine_learning/open_job.rb +1 -1
  227. data/lib/elasticsearch/api/actions/machine_learning/post_calendar_events.rb +1 -1
  228. data/lib/elasticsearch/api/actions/machine_learning/post_data.rb +1 -1
  229. data/lib/elasticsearch/api/actions/machine_learning/preview_data_frame_analytics.rb +1 -1
  230. data/lib/elasticsearch/api/actions/machine_learning/preview_datafeed.rb +1 -1
  231. data/lib/elasticsearch/api/actions/machine_learning/put_calendar.rb +1 -1
  232. data/lib/elasticsearch/api/actions/machine_learning/put_calendar_job.rb +1 -1
  233. data/lib/elasticsearch/api/actions/machine_learning/put_data_frame_analytics.rb +1 -1
  234. data/lib/elasticsearch/api/actions/machine_learning/put_datafeed.rb +1 -1
  235. data/lib/elasticsearch/api/actions/machine_learning/put_filter.rb +1 -1
  236. data/lib/elasticsearch/api/actions/machine_learning/put_job.rb +1 -1
  237. data/lib/elasticsearch/api/actions/machine_learning/put_trained_model.rb +1 -1
  238. data/lib/elasticsearch/api/actions/machine_learning/put_trained_model_alias.rb +1 -1
  239. data/lib/elasticsearch/api/actions/machine_learning/put_trained_model_definition_part.rb +1 -1
  240. data/lib/elasticsearch/api/actions/machine_learning/put_trained_model_vocabulary.rb +1 -1
  241. data/lib/elasticsearch/api/actions/machine_learning/reset_job.rb +1 -1
  242. data/lib/elasticsearch/api/actions/machine_learning/revert_model_snapshot.rb +1 -1
  243. data/lib/elasticsearch/api/actions/machine_learning/set_upgrade_mode.rb +1 -1
  244. data/lib/elasticsearch/api/actions/machine_learning/start_data_frame_analytics.rb +1 -1
  245. data/lib/elasticsearch/api/actions/machine_learning/start_datafeed.rb +1 -1
  246. data/lib/elasticsearch/api/actions/machine_learning/start_trained_model_deployment.rb +1 -1
  247. data/lib/elasticsearch/api/actions/machine_learning/stop_data_frame_analytics.rb +1 -1
  248. data/lib/elasticsearch/api/actions/machine_learning/stop_datafeed.rb +1 -1
  249. data/lib/elasticsearch/api/actions/machine_learning/stop_trained_model_deployment.rb +4 -1
  250. data/lib/elasticsearch/api/actions/machine_learning/update_data_frame_analytics.rb +1 -1
  251. data/lib/elasticsearch/api/actions/machine_learning/update_datafeed.rb +1 -1
  252. data/lib/elasticsearch/api/actions/machine_learning/update_filter.rb +1 -1
  253. data/lib/elasticsearch/api/actions/machine_learning/update_job.rb +1 -1
  254. data/lib/elasticsearch/api/actions/machine_learning/update_model_snapshot.rb +1 -1
  255. data/lib/elasticsearch/api/actions/machine_learning/upgrade_job_snapshot.rb +1 -1
  256. data/lib/elasticsearch/api/actions/machine_learning/validate.rb +1 -1
  257. data/lib/elasticsearch/api/actions/machine_learning/validate_detector.rb +1 -1
  258. data/lib/elasticsearch/api/actions/mget.rb +1 -1
  259. data/lib/elasticsearch/api/actions/migration/deprecations.rb +1 -1
  260. data/lib/elasticsearch/api/actions/migration/get_feature_upgrade_status.rb +1 -1
  261. data/lib/elasticsearch/api/actions/migration/post_feature_upgrade.rb +1 -1
  262. data/lib/elasticsearch/api/actions/monitoring/bulk.rb +1 -1
  263. data/lib/elasticsearch/api/actions/msearch.rb +1 -1
  264. data/lib/elasticsearch/api/actions/msearch_template.rb +1 -1
  265. data/lib/elasticsearch/api/actions/mtermvectors.rb +1 -1
  266. data/lib/elasticsearch/api/actions/nodes/clear_repositories_metering_archive.rb +1 -1
  267. data/lib/elasticsearch/api/actions/nodes/get_repositories_metering_info.rb +1 -1
  268. data/lib/elasticsearch/api/actions/nodes/hot_threads.rb +3 -2
  269. data/lib/elasticsearch/api/actions/nodes/info.rb +2 -2
  270. data/lib/elasticsearch/api/actions/nodes/reload_secure_settings.rb +1 -1
  271. data/lib/elasticsearch/api/actions/nodes/stats.rb +2 -2
  272. data/lib/elasticsearch/api/actions/nodes/usage.rb +1 -1
  273. data/lib/elasticsearch/api/actions/open_point_in_time.rb +2 -2
  274. data/lib/elasticsearch/api/actions/ping.rb +1 -1
  275. data/lib/elasticsearch/api/actions/put_script.rb +1 -1
  276. data/lib/elasticsearch/api/actions/rank_eval.rb +1 -1
  277. data/lib/elasticsearch/api/actions/reindex.rb +1 -1
  278. data/lib/elasticsearch/api/actions/reindex_rethrottle.rb +1 -1
  279. data/lib/elasticsearch/api/actions/render_search_template.rb +1 -1
  280. data/lib/elasticsearch/api/actions/rollup/delete_job.rb +1 -1
  281. data/lib/elasticsearch/api/actions/rollup/get_jobs.rb +1 -1
  282. data/lib/elasticsearch/api/actions/rollup/get_rollup_caps.rb +1 -1
  283. data/lib/elasticsearch/api/actions/rollup/get_rollup_index_caps.rb +1 -1
  284. data/lib/elasticsearch/api/actions/rollup/put_job.rb +1 -1
  285. data/lib/elasticsearch/api/actions/rollup/rollup.rb +1 -1
  286. data/lib/elasticsearch/api/actions/rollup/rollup_search.rb +1 -1
  287. data/lib/elasticsearch/api/actions/rollup/start_job.rb +1 -1
  288. data/lib/elasticsearch/api/actions/rollup/stop_job.rb +1 -1
  289. data/lib/elasticsearch/api/actions/scripts_painless_execute.rb +1 -1
  290. data/lib/elasticsearch/api/actions/scroll.rb +1 -1
  291. data/lib/elasticsearch/api/actions/search.rb +1 -1
  292. data/lib/elasticsearch/api/actions/search_mvt.rb +2 -2
  293. data/lib/elasticsearch/api/actions/search_shards.rb +1 -1
  294. data/lib/elasticsearch/api/actions/search_template.rb +1 -1
  295. data/lib/elasticsearch/api/actions/searchable_snapshots/cache_stats.rb +1 -1
  296. data/lib/elasticsearch/api/actions/searchable_snapshots/clear_cache.rb +1 -1
  297. data/lib/elasticsearch/api/actions/searchable_snapshots/mount.rb +1 -1
  298. data/lib/elasticsearch/api/actions/searchable_snapshots/stats.rb +1 -1
  299. data/lib/elasticsearch/api/actions/{data_frame_transform_deprecated/preview_transform.rb → security/activate_user_profile.rb} +15 -19
  300. data/lib/elasticsearch/api/actions/security/authenticate.rb +1 -1
  301. data/lib/elasticsearch/api/actions/security/change_password.rb +1 -1
  302. data/lib/elasticsearch/api/actions/security/clear_api_key_cache.rb +1 -1
  303. data/lib/elasticsearch/api/actions/security/clear_cached_privileges.rb +1 -1
  304. data/lib/elasticsearch/api/actions/security/clear_cached_realms.rb +1 -1
  305. data/lib/elasticsearch/api/actions/security/clear_cached_roles.rb +1 -1
  306. data/lib/elasticsearch/api/actions/security/clear_cached_service_tokens.rb +1 -1
  307. data/lib/elasticsearch/api/actions/security/create_api_key.rb +1 -1
  308. data/lib/elasticsearch/api/actions/security/create_service_token.rb +1 -1
  309. data/lib/elasticsearch/api/actions/security/delete_privileges.rb +1 -1
  310. data/lib/elasticsearch/api/actions/security/delete_role.rb +1 -1
  311. data/lib/elasticsearch/api/actions/security/delete_role_mapping.rb +1 -1
  312. data/lib/elasticsearch/api/actions/security/delete_service_token.rb +1 -1
  313. data/lib/elasticsearch/api/actions/security/delete_user.rb +1 -1
  314. data/lib/elasticsearch/api/actions/security/disable_user.rb +1 -1
  315. data/lib/elasticsearch/api/actions/security/disable_user_profile.rb +55 -0
  316. data/lib/elasticsearch/api/actions/security/enable_user.rb +1 -1
  317. data/lib/elasticsearch/api/actions/security/enable_user_profile.rb +55 -0
  318. data/lib/elasticsearch/api/actions/security/enroll_kibana.rb +1 -1
  319. data/lib/elasticsearch/api/actions/security/enroll_node.rb +1 -1
  320. data/lib/elasticsearch/api/actions/security/get_api_key.rb +1 -1
  321. data/lib/elasticsearch/api/actions/security/get_builtin_privileges.rb +1 -1
  322. data/lib/elasticsearch/api/actions/security/get_privileges.rb +1 -1
  323. data/lib/elasticsearch/api/actions/security/get_role.rb +1 -1
  324. data/lib/elasticsearch/api/actions/security/get_role_mapping.rb +1 -1
  325. data/lib/elasticsearch/api/actions/security/get_service_accounts.rb +1 -1
  326. data/lib/elasticsearch/api/actions/security/get_service_credentials.rb +1 -1
  327. data/lib/elasticsearch/api/actions/security/get_token.rb +1 -1
  328. data/lib/elasticsearch/api/actions/security/get_user.rb +1 -1
  329. data/lib/elasticsearch/api/actions/security/get_user_privileges.rb +1 -1
  330. data/lib/elasticsearch/api/actions/security/get_user_profile.rb +55 -0
  331. data/lib/elasticsearch/api/actions/security/grant_api_key.rb +1 -1
  332. data/lib/elasticsearch/api/actions/security/has_privileges.rb +1 -1
  333. data/lib/elasticsearch/api/actions/security/invalidate_api_key.rb +1 -1
  334. data/lib/elasticsearch/api/actions/security/invalidate_token.rb +1 -1
  335. data/lib/elasticsearch/api/actions/{machine_learning/get_trained_model_deployment_stats.rb → security/oidc_authenticate.rb} +10 -13
  336. data/lib/elasticsearch/api/actions/security/oidc_logout.rb +48 -0
  337. data/lib/elasticsearch/api/actions/security/oidc_prepare_authentication.rb +48 -0
  338. data/lib/elasticsearch/api/actions/security/put_privileges.rb +1 -1
  339. data/lib/elasticsearch/api/actions/security/put_role.rb +1 -1
  340. data/lib/elasticsearch/api/actions/security/put_role_mapping.rb +1 -1
  341. data/lib/elasticsearch/api/actions/security/put_user.rb +1 -1
  342. data/lib/elasticsearch/api/actions/security/query_api_keys.rb +1 -1
  343. data/lib/elasticsearch/api/actions/security/saml_authenticate.rb +1 -1
  344. data/lib/elasticsearch/api/actions/security/saml_complete_logout.rb +1 -1
  345. data/lib/elasticsearch/api/actions/security/saml_invalidate.rb +1 -1
  346. data/lib/elasticsearch/api/actions/security/saml_logout.rb +1 -1
  347. data/lib/elasticsearch/api/actions/security/saml_prepare_authentication.rb +1 -1
  348. data/lib/elasticsearch/api/actions/security/saml_service_provider_metadata.rb +1 -1
  349. data/lib/elasticsearch/api/actions/security/suggest_user_profiles.rb +56 -0
  350. data/lib/elasticsearch/api/actions/security/update_user_profile_data.rb +59 -0
  351. data/lib/elasticsearch/api/actions/snapshot/cleanup_repository.rb +1 -1
  352. data/lib/elasticsearch/api/actions/snapshot/clone.rb +1 -1
  353. data/lib/elasticsearch/api/actions/snapshot/create.rb +1 -1
  354. data/lib/elasticsearch/api/actions/snapshot/create_repository.rb +1 -1
  355. data/lib/elasticsearch/api/actions/snapshot/delete.rb +1 -1
  356. data/lib/elasticsearch/api/actions/snapshot/delete_repository.rb +1 -1
  357. data/lib/elasticsearch/api/actions/snapshot/get.rb +1 -1
  358. data/lib/elasticsearch/api/actions/snapshot/get_repository.rb +1 -1
  359. data/lib/elasticsearch/api/actions/snapshot/repository_analyze.rb +1 -1
  360. data/lib/elasticsearch/api/actions/snapshot/restore.rb +1 -1
  361. data/lib/elasticsearch/api/actions/snapshot/status.rb +1 -1
  362. data/lib/elasticsearch/api/actions/snapshot/verify_repository.rb +1 -1
  363. data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/delete_lifecycle.rb +1 -1
  364. data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/execute_lifecycle.rb +1 -1
  365. data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/execute_retention.rb +1 -1
  366. data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/get_lifecycle.rb +1 -1
  367. data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/get_stats.rb +1 -1
  368. data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/get_status.rb +1 -1
  369. data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/put_lifecycle.rb +1 -1
  370. data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/start.rb +1 -1
  371. data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/stop.rb +1 -1
  372. data/lib/elasticsearch/api/actions/sql/clear_cursor.rb +1 -1
  373. data/lib/elasticsearch/api/actions/sql/delete_async.rb +1 -1
  374. data/lib/elasticsearch/api/actions/sql/get_async.rb +1 -1
  375. data/lib/elasticsearch/api/actions/sql/get_async_status.rb +1 -1
  376. data/lib/elasticsearch/api/actions/sql/query.rb +1 -1
  377. data/lib/elasticsearch/api/actions/sql/translate.rb +1 -1
  378. data/lib/elasticsearch/api/actions/ssl/certificates.rb +1 -1
  379. data/lib/elasticsearch/api/actions/tasks/cancel.rb +1 -1
  380. data/lib/elasticsearch/api/actions/tasks/get.rb +1 -1
  381. data/lib/elasticsearch/api/actions/tasks/list.rb +1 -1
  382. data/lib/elasticsearch/api/actions/terms_enum.rb +1 -1
  383. data/lib/elasticsearch/api/actions/termvectors.rb +1 -1
  384. data/lib/elasticsearch/api/actions/text_structure/find_structure.rb +1 -1
  385. data/lib/elasticsearch/api/actions/transform/delete_transform.rb +1 -1
  386. data/lib/elasticsearch/api/actions/transform/get_transform.rb +1 -1
  387. data/lib/elasticsearch/api/actions/transform/get_transform_stats.rb +1 -1
  388. data/lib/elasticsearch/api/actions/transform/preview_transform.rb +1 -1
  389. data/lib/elasticsearch/api/actions/transform/put_transform.rb +1 -1
  390. data/lib/elasticsearch/api/actions/{data_frame_transform_deprecated/start_transform.rb → transform/reset_transform.rb} +12 -19
  391. data/lib/elasticsearch/api/actions/transform/start_transform.rb +1 -1
  392. data/lib/elasticsearch/api/actions/transform/stop_transform.rb +1 -1
  393. data/lib/elasticsearch/api/actions/transform/update_transform.rb +1 -1
  394. data/lib/elasticsearch/api/actions/transform/upgrade_transforms.rb +1 -1
  395. data/lib/elasticsearch/api/actions/update.rb +1 -1
  396. data/lib/elasticsearch/api/actions/update_by_query.rb +1 -1
  397. data/lib/elasticsearch/api/actions/update_by_query_rethrottle.rb +1 -1
  398. data/lib/elasticsearch/api/actions/watcher/ack_watch.rb +1 -1
  399. data/lib/elasticsearch/api/actions/watcher/activate_watch.rb +1 -1
  400. data/lib/elasticsearch/api/actions/watcher/deactivate_watch.rb +1 -1
  401. data/lib/elasticsearch/api/actions/watcher/delete_watch.rb +1 -1
  402. data/lib/elasticsearch/api/actions/watcher/execute_watch.rb +1 -1
  403. data/lib/elasticsearch/api/actions/watcher/get_watch.rb +1 -1
  404. data/lib/elasticsearch/api/actions/watcher/put_watch.rb +1 -1
  405. data/lib/elasticsearch/api/actions/watcher/query_watches.rb +1 -1
  406. data/lib/elasticsearch/api/actions/watcher/start.rb +1 -1
  407. data/lib/elasticsearch/api/actions/watcher/stats.rb +1 -1
  408. data/lib/elasticsearch/api/actions/watcher/stop.rb +1 -1
  409. data/lib/elasticsearch/api/actions/xpack/info.rb +1 -1
  410. data/lib/elasticsearch/api/actions/xpack/usage.rb +1 -1
  411. data/lib/elasticsearch/api/version.rb +1 -1
  412. data/spec/elasticsearch/api/actions/cat/component_templates_spec.rb +46 -0
  413. data/spec/elasticsearch/api/actions/fleet/msearch_spec.rb +44 -0
  414. data/spec/elasticsearch/api/actions/{machine_learning/get_trained_model_deployment_stats_spec.rb → fleet/search_spec.rb} +7 -9
  415. data/spec/elasticsearch/api/actions/machine_learning/get_memory_stats_spec.rb +47 -0
  416. data/spec/elasticsearch/api/actions/security/disable_user_profile_spec.rb +34 -0
  417. data/spec/elasticsearch/api/actions/security/enable_user_profile_spec.rb +34 -0
  418. data/spec/elasticsearch/api/actions/security/suggest_user_profiles_spec.rb +45 -0
  419. data/spec/elasticsearch/api/rest_api_yaml_spec.rb +8 -3
  420. data/spec/unit_tests_platinum/unit/security/activate_user_profile_test.rb +40 -0
  421. data/spec/unit_tests_platinum/unit/security/get_user_profile_test.rb +40 -0
  422. data/spec/unit_tests_platinum/unit/security/oidc_authenticate_test.rb +40 -0
  423. data/spec/unit_tests_platinum/unit/security/oidc_logout_test.rb +40 -0
  424. data/spec/unit_tests_platinum/unit/security/oidc_prepare_authentication_test.rb +40 -0
  425. data/spec/unit_tests_platinum/unit/security/update_user_profile_data_test.rb +40 -0
  426. data/spec/unit_tests_platinum/unit/transform/reset_transform_spec.rb +34 -0
  427. data/utils/README.md +5 -0
  428. data/utils/thor/generate_source.rb +13 -0
  429. data/utils/thor/generator/files_helper.rb +1 -1
  430. metadata +44 -16
  431. data/lib/elasticsearch/api/actions/data_frame_transform_deprecated/delete_transform.rb +0 -59
  432. data/lib/elasticsearch/api/actions/data_frame_transform_deprecated/get_transform.rb +0 -64
  433. data/lib/elasticsearch/api/actions/data_frame_transform_deprecated/get_transform_stats.rb +0 -61
  434. data/lib/elasticsearch/api/actions/data_frame_transform_deprecated/put_transform.rb +0 -61
  435. data/lib/elasticsearch/api/actions/data_frame_transform_deprecated/stop_transform.rb +0 -61
  436. data/lib/elasticsearch/api/actions/data_frame_transform_deprecated/update_transform.rb +0 -61
  437. data/lib/elasticsearch/api/actions/indices/exists_type.rb +0 -61
  438. data/spec/elasticsearch/api/actions/indices/exists_type_spec.rb +0 -108
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fea0d98680f58a5304fe9fe70d7c55cd59f245bd11437c4214b4f5588a4e524a
4
- data.tar.gz: c3cd6b70fe3757b36ee3bbe8a3c78e598c84e18fef9faa829858ea772de5c29b
3
+ metadata.gz: 87c8a671136f67dd95fda6e2c7e871dce8f45cf345e5da969b034c56302e79ae
4
+ data.tar.gz: 21c755c89179997c827f531f3a6a1ea78b9af879a41a0aa1076908c84e90cc55
5
5
  SHA512:
6
- metadata.gz: fbd5b17466d38015c5d045d3e2128d33c72b9fa8ead045eb47c56ec1c2c92ab70444ced0581c2e2df67426062a18e2f709859657338bcafb1cb0f5239f6306a5
7
- data.tar.gz: 2abb091a61580acd296e36780aefe1d29550e8edd1028ed930d3680eafbb08f0d78e3070fbe1156b5de5a79bd5b16e841375fc7ced0a2d5f63b2d384d6a3889c
6
+ metadata.gz: 1465906d3db98e4b0d58a9307ab6889bd75242265cdcf961b599b537591e2f6dbc51da82e92c71488ac907a689fa4cebb670b1aa1af6e9f7ab12f689c06092ef
7
+ data.tar.gz: 7c366783c914076899814b9949e3d37b3f9e0f7d1cc1d0ce972ad54f1fff5cdabea72fcc96b17f187756634dbe7b16afb7b071ced7291d5a176bc3e85bc5355b
data/README.md CHANGED
@@ -9,7 +9,7 @@ The `elasticsearch-api` library provides a Ruby implementation of
9
9
  the [Elasticsearch](http://elasticsearch.com) REST API.
10
10
 
11
11
  It does not provide an Elasticsearch client; see the
12
- [`elasticsearch-transport`](https://github.com/elasticsearch/elasticsearch-ruby/tree/main/elasticsearch-transport) library.
12
+ [`elastic-transport`](https://github.com/elastic/elastic-transport-ruby/) library.
13
13
 
14
14
  We follow Ruby’s own maintenance policy and officially support all currently maintained versions per [Ruby Maintenance Branches](https://www.ruby-lang.org/en/downloads/branches/).
15
15
 
@@ -243,9 +243,10 @@ RSpec::Matchers.define :match_response do |pairs, test|
243
243
  /#{parsed.tr("/", "")}/ =~ actual_value
244
244
  elsif !!(expected.match?(/^-?[0-9]{1}\.[0-9]+E[0-9]+/))
245
245
  # When the value in the yaml test is a big number, the format is
246
- # different from what Ruby uses, so we transform X.XXXXEXX to X.XXXXXe+XX
247
- # to be able to compare the values
248
- actual_value.to_s == expected.gsub('E', 'e+')
246
+ # different from what Ruby uses, so we try different options:
247
+ actual_value.to_s == expected.gsub('E', 'e+') || # transform X.XXXXEXX to X.XXXXXe+XX to compare thme
248
+ actual_value == expected || # compare the actual values
249
+ expected.to_f.to_s == actual_value.to_f.to_s # transform both to Float and compare them
249
250
  elsif expected == '' && actual_value != ''
250
251
  actual_value == response
251
252
  else
@@ -54,70 +54,82 @@ module Elasticsearch
54
54
  # @since 6.2.0
55
55
  def execute(client, test = nil)
56
56
  @definition.each.inject(client) do |client, (method_chain, args)|
57
- chain = method_chain.split('.')
58
-
59
- # If we have a method nested in a namespace, client becomes the
60
- # client/namespace. Eg for `indices.resolve_index`, `client =
61
- # client.indices` and then we call `resolve_index` on `client`.
62
- if chain.size > 1
63
- client = chain[0...-1].inject(client) do |_client, _method|
64
- _client.send(_method)
57
+ if method_chain.match?('_internal')
58
+ es_version = test.cached_values['es_version'] unless test.nil?
59
+ perform_internal(method_chain, args, client, es_version)
60
+ else
61
+ chain = method_chain.split('.')
62
+ # If we have a method nested in a namespace, client becomes the
63
+ # client/namespace. Eg for `indices.resolve_index`, `client =
64
+ # client.indices` and then we call `resolve_index` on `client`.
65
+ if chain.size > 1
66
+ client = chain[0...-1].inject(client) do |shadow_client, method|
67
+ shadow_client.send(method)
68
+ end
65
69
  end
66
- end
67
70
 
68
- _method = chain[-1]
69
- case _method
70
- when 'bulk'
71
- arguments = prepare_arguments(args, test)
72
- arguments[:body].map! do |item|
73
- if item.is_a?(Hash)
74
- item
75
- elsif item.is_a?(String)
76
- symbolize_keys(JSON.parse(item))
71
+ _method = chain[-1]
72
+ case _method
73
+ when 'bulk'
74
+ arguments = prepare_arguments(args, test)
75
+ arguments[:body].map! do |item|
76
+ if item.is_a?(Hash)
77
+ item
78
+ elsif item.is_a?(String)
79
+ symbolize_keys(JSON.parse(item))
80
+ end
81
+ end if arguments[:body].is_a? Array
82
+ @response = client.send(_method, arguments)
83
+ client
84
+ when 'headers'
85
+ headers = prepare_arguments(args, test)
86
+ # TODO: Remove Authorization headers while x_pack_rest_user is fixed
87
+ if headers[:Authorization] == 'Basic eF9wYWNrX3Jlc3RfdXNlcjp4LXBhY2stdGVzdC1wYXNzd29yZA=='
88
+ headers.delete(:Authorization)
77
89
  end
78
- end if arguments[:body].is_a? Array
79
- @response = client.send(_method, arguments)
80
- client
81
- when 'headers'
82
- headers = prepare_arguments(args, test)
83
- # TODO: Remove Authorization headers while x_pack_rest_user is fixed
84
- if headers[:Authorization] == 'Basic eF9wYWNrX3Jlc3RfdXNlcjp4LXBhY2stdGVzdC1wYXNzd29yZA=='
85
- headers.delete(:Authorization)
86
- end
87
- host = client.transport.instance_variable_get('@hosts')
88
- transport_options = client.transport.instance_variable_get('@options')&.dig(:transport_options) || {}
89
- if ENV['QUIET'] == 'true'
90
- # todo: create a method on Elasticsearch::Client that can clone the client with new options
91
- Elasticsearch::Client.new(
92
- host: host,
93
- transport_options: transport_options.merge(headers: headers)
94
- )
95
- else
96
- Elasticsearch::Client.new(
97
- host: host,
98
- tracer: Logger.new($stdout),
99
- transport_options: transport_options.merge(headers: headers)
100
- )
101
- end
102
- when 'catch', 'warnings', 'allowed_warnings', 'allowed_warnings_regex'
103
- client
104
- when 'put_trained_model_alias'
105
- args.merge!('reassign' => true) unless args['reassign'] === false
106
- @response = client.send(_method, prepare_arguments(args, test))
107
- client
108
- when 'create'
109
- begin
90
+ host = client.transport.instance_variable_get('@hosts')
91
+ transport_options = client.transport.instance_variable_get('@options')&.dig(:transport_options) || {}
92
+ if ENV['QUIET'] == 'true'
93
+ # todo: create a method on Elasticsearch::Client that can clone the client with new options
94
+ Elasticsearch::Client.new(
95
+ host: host,
96
+ transport_options: transport_options.merge(headers: headers)
97
+ )
98
+ else
99
+ Elasticsearch::Client.new(
100
+ host: host,
101
+ tracer: Logger.new($stdout),
102
+ transport_options: transport_options.merge(headers: headers)
103
+ )
104
+ end
105
+ when 'catch', 'warnings', 'allowed_warnings', 'allowed_warnings_regex'
106
+ client
107
+ when 'put_trained_model_alias'
108
+ args.merge!('reassign' => true) unless args['reassign'] === false
110
109
  @response = client.send(_method, prepare_arguments(args, test))
111
- rescue Elastic::Transport::Transport::Errors::BadRequest => e
112
- raise e unless e.message.match 'resource_already_exists_exception'
113
-
114
- client.delete(index: args['index'])
110
+ client
111
+ when 'create'
112
+ begin
113
+ @response = client.send(_method, prepare_arguments(args, test))
114
+ rescue Elastic::Transport::Transport::Errors::BadRequest => e
115
+ case e.message
116
+ when /resource_already_exists_exception/
117
+ client.delete(index: args['index'])
118
+ when /failed to parse date field/
119
+ body = args['body']
120
+ time_series = body['settings']['index']['time_series']
121
+ time_series.each { |k, v| time_series[k] = v.strftime("%FT%TZ") }
122
+ args['body'] = body
123
+ else
124
+ raise e
125
+ end
126
+ @response = client.send(_method, prepare_arguments(args, test))
127
+ end
128
+ client
129
+ else
115
130
  @response = client.send(_method, prepare_arguments(args, test))
131
+ client
116
132
  end
117
- client
118
- else
119
- @response = client.send(_method, prepare_arguments(args, test))
120
- client
121
133
  end
122
134
  end
123
135
  end
@@ -128,6 +140,38 @@ module Elasticsearch
128
140
 
129
141
  private
130
142
 
143
+ # Executes operations not implemented by elasticsearch-api, such as _internal
144
+ def perform_internal(method, args, client, es_version)
145
+ case method
146
+ when '_internal.update_desired_nodes'
147
+ http = 'PUT'
148
+ if (history_id = args.delete('history_id')).match?(/\s+/)
149
+ require 'erb'
150
+ history_id = ERB::Util.url_encode(history_id)
151
+ end
152
+ path = "/_internal/desired_nodes/#{history_id}/#{args.delete('version')}"
153
+ body = args.delete('body')
154
+ # Replace $es_version with actual value:
155
+ body['nodes'].map do |node|
156
+ node['node_version']&.gsub!('$es_version', es_version) if node['node_version'] && es_version
157
+ end if body['nodes']
158
+ when '_internal.delete_desired_nodes'
159
+ http = 'DELETE'
160
+ path = '/_internal/desired_nodes/'
161
+ body = args.delete('body')
162
+ when '_internal.get_desired_nodes'
163
+ http = 'GET'
164
+ path = '/_internal/desired_nodes/_latest'
165
+ body = nil
166
+ when '_internal.health'
167
+ http = 'GET'
168
+ path = '_internal/_health'
169
+ body = args.delete('body')
170
+ end
171
+ @response = Elasticsearch::API::Response.new(client.perform_request(http, path, args, body))
172
+ client
173
+ end
174
+
131
175
  def prepare_arguments(args, test)
132
176
  symbolize_keys(args).tap do |args|
133
177
  if test
@@ -49,22 +49,28 @@ module Elasticsearch
49
49
  @client = client
50
50
  begin
51
51
  documents = YAML.load_stream(File.new(file_name))
52
+ rescue Psych::SyntaxError => e
53
+ raise e unless e.message.include?('found unexpected \':\'')
54
+
55
+ message = "Exception found when parsing YAML in #{file_name}: #{e.message}"
56
+ logger.error message
57
+ raise SkipTestsException, message
52
58
  rescue StandardError => e
53
59
  logger.error e
54
60
  logger.error "Filename : #{@name}"
55
61
  end
56
62
  @test_definitions = documents.reject { |doc| doc['setup'] || doc['teardown'] }
57
63
  @setup = documents.find { |doc| doc['setup'] }
58
- skip_entire_test_file? if @setup
64
+ skip_entire_test_file?(file_name) if @setup
59
65
  @teardown = documents.find { |doc| doc['teardown'] }
60
66
  @features_to_skip = REST_API_YAML_SKIP_FEATURES + features_to_skip
61
67
  end
62
68
 
63
- def skip_entire_test_file?
69
+ def skip_entire_test_file?(file_name)
64
70
  @skip = @setup['setup']&.select { |a| a['skip'] }
65
71
  return false if @skip.empty?
66
72
 
67
- raise SkipTestsException if skip_version?(@client, @skip.first['skip'])
73
+ raise SkipTestsException, "Skipping #{file_name} due to 'skip all'." if skip_version?(@client, @skip.first['skip'])
68
74
  end
69
75
 
70
76
  def skip_version?(client, skip_definition)
@@ -24,7 +24,7 @@ module Elasticsearch
24
24
  # @option arguments [String] :id The async search ID
25
25
  # @option arguments [Hash] :headers Custom HTTP headers
26
26
  #
27
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/async-search.html
27
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/8.2/async-search.html
28
28
  #
29
29
  def delete(arguments = {})
30
30
  raise ArgumentError, "Required argument 'id' missing" unless arguments[:id]
@@ -27,7 +27,7 @@ module Elasticsearch
27
27
  # @option arguments [Boolean] :typed_keys Specify whether aggregation and suggester names should be prefixed by their respective types in the response
28
28
  # @option arguments [Hash] :headers Custom HTTP headers
29
29
  #
30
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/async-search.html
30
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/8.2/async-search.html
31
31
  #
32
32
  def get(arguments = {})
33
33
  raise ArgumentError, "Required argument 'id' missing" unless arguments[:id]
@@ -24,7 +24,7 @@ module Elasticsearch
24
24
  # @option arguments [String] :id The async search ID
25
25
  # @option arguments [Hash] :headers Custom HTTP headers
26
26
  #
27
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/async-search.html
27
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/8.2/async-search.html
28
28
  #
29
29
  def status(arguments = {})
30
30
  raise ArgumentError, "Required argument 'id' missing" unless arguments[:id]
@@ -66,7 +66,7 @@ module Elasticsearch
66
66
  # @option arguments [Hash] :headers Custom HTTP headers
67
67
  # @option arguments [Hash] :body The search definition using the Query DSL
68
68
  #
69
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/async-search.html
69
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/8.2/async-search.html
70
70
  #
71
71
  def submit(arguments = {})
72
72
  arguments = arguments.clone
@@ -24,7 +24,7 @@ module Elasticsearch
24
24
  # @option arguments [String] :name the name of the autoscaling policy
25
25
  # @option arguments [Hash] :headers Custom HTTP headers
26
26
  #
27
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/autoscaling-delete-autoscaling-policy.html
27
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/8.2/autoscaling-delete-autoscaling-policy.html
28
28
  #
29
29
  def delete_autoscaling_policy(arguments = {})
30
30
  raise ArgumentError, "Required argument 'name' missing" unless arguments[:name]
@@ -23,7 +23,7 @@ module Elasticsearch
23
23
  #
24
24
  # @option arguments [Hash] :headers Custom HTTP headers
25
25
  #
26
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/autoscaling-get-autoscaling-capacity.html
26
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/8.2/autoscaling-get-autoscaling-capacity.html
27
27
  #
28
28
  def get_autoscaling_capacity(arguments = {})
29
29
  arguments = arguments.clone
@@ -24,7 +24,7 @@ module Elasticsearch
24
24
  # @option arguments [String] :name the name of the autoscaling policy
25
25
  # @option arguments [Hash] :headers Custom HTTP headers
26
26
  #
27
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/autoscaling-get-autoscaling-policy.html
27
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/8.2/autoscaling-get-autoscaling-policy.html
28
28
  #
29
29
  def get_autoscaling_policy(arguments = {})
30
30
  raise ArgumentError, "Required argument 'name' missing" unless arguments[:name]
@@ -25,7 +25,7 @@ module Elasticsearch
25
25
  # @option arguments [Hash] :headers Custom HTTP headers
26
26
  # @option arguments [Hash] :body the specification of the autoscaling policy (*Required*)
27
27
  #
28
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/autoscaling-put-autoscaling-policy.html
28
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/8.2/autoscaling-put-autoscaling-policy.html
29
29
  #
30
30
  def put_autoscaling_policy(arguments = {})
31
31
  raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
@@ -25,6 +25,7 @@ module Elasticsearch
25
25
  # @option arguments [String] :refresh If `true` then refresh the affected shards to make this operation visible to search, if `wait_for` then wait for a refresh to make this operation visible to search, if `false` (the default) then do nothing with refreshes. (options: true, false, wait_for)
26
26
  # @option arguments [String] :routing Specific routing value
27
27
  # @option arguments [Time] :timeout Explicit operation timeout
28
+ # @option arguments [String] :type Default document type for items which don't provide one
28
29
  # @option arguments [List] :_source True or false to return the _source field or not, or default list of fields to return, can be overridden on each sub-request
29
30
  # @option arguments [List] :_source_excludes Default list of fields to exclude from the returned _source field, can be overridden on each sub-request
30
31
  # @option arguments [List] :_source_includes Default list of fields to extract and return from the _source field, can be overridden on each sub-request
@@ -34,7 +35,7 @@ module Elasticsearch
34
35
  # @option arguments [String|Array] :body The operation definition and data (action-data pairs), separated by newlines. Array of Strings, Header/Data pairs,
35
36
  # or the conveniency "combined" format can be passed, refer to Elasticsearch::API::Utils.__bulkify documentation.
36
37
  #
37
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-bulk.html
38
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/8.2/docs-bulk.html
38
39
  #
39
40
  def bulk(arguments = {})
40
41
  raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
@@ -31,7 +31,7 @@ module Elasticsearch
31
31
  # @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)
32
32
  # @option arguments [Hash] :headers Custom HTTP headers
33
33
  #
34
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-alias.html
34
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/8.2/cat-alias.html
35
35
  #
36
36
  def aliases(arguments = {})
37
37
  arguments = arguments.clone
@@ -32,7 +32,7 @@ module Elasticsearch
32
32
  # @option arguments [Boolean] :v Verbose mode. Display column headers
33
33
  # @option arguments [Hash] :headers Custom HTTP headers
34
34
  #
35
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-allocation.html
35
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/8.2/cat-allocation.html
36
36
  #
37
37
  def allocation(arguments = {})
38
38
  arguments = arguments.clone
@@ -0,0 +1,59 @@
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 Cat
21
+ module Actions
22
+ # Returns information about existing component_templates templates.
23
+ #
24
+ # @option arguments [String] :name A pattern that returned component template names must match
25
+ # @option arguments [String] :format a short version of the Accept header, e.g. json, yaml
26
+ # @option arguments [Boolean] :local Return local information, do not retrieve the state from master node (default: false)
27
+ # @option arguments [Time] :master_timeout Explicit operation timeout for connection to master node
28
+ # @option arguments [List] :h Comma-separated list of column names to display
29
+ # @option arguments [Boolean] :help Return help information
30
+ # @option arguments [List] :s Comma-separated list of column names or column aliases to sort by
31
+ # @option arguments [Boolean] :v Verbose mode. Display column headers
32
+ # @option arguments [Hash] :headers Custom HTTP headers
33
+ #
34
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/8.2/cat-compoentn-templates.html
35
+ #
36
+ def component_templates(arguments = {})
37
+ arguments = arguments.clone
38
+ headers = arguments.delete(:headers) || {}
39
+
40
+ body = nil
41
+
42
+ _name = arguments.delete(:name)
43
+
44
+ method = Elasticsearch::API::HTTP_GET
45
+ path = if _name
46
+ "_cat/component_templates/#{Utils.__listify(_name)}"
47
+ else
48
+ "_cat/component_templates"
49
+ end
50
+ params = Utils.process_params(arguments)
51
+
52
+ Elasticsearch::API::Response.new(
53
+ perform_request(method, path, params, body, headers)
54
+ )
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
@@ -29,7 +29,7 @@ module Elasticsearch
29
29
  # @option arguments [Boolean] :v Verbose mode. Display column headers
30
30
  # @option arguments [Hash] :headers Custom HTTP headers
31
31
  #
32
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-count.html
32
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/8.2/cat-count.html
33
33
  #
34
34
  def count(arguments = {})
35
35
  arguments = arguments.clone
@@ -30,7 +30,7 @@ module Elasticsearch
30
30
  # @option arguments [Boolean] :v Verbose mode. Display column headers
31
31
  # @option arguments [Hash] :headers Custom HTTP headers
32
32
  #
33
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-fielddata.html
33
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/8.2/cat-fielddata.html
34
34
  #
35
35
  def fielddata(arguments = {})
36
36
  arguments = arguments.clone
@@ -30,7 +30,7 @@ module Elasticsearch
30
30
  # @option arguments [Boolean] :v Verbose mode. Display column headers
31
31
  # @option arguments [Hash] :headers Custom HTTP headers
32
32
  #
33
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-health.html
33
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/8.2/cat-health.html
34
34
  #
35
35
  def health(arguments = {})
36
36
  arguments = arguments.clone
@@ -25,7 +25,7 @@ module Elasticsearch
25
25
  # @option arguments [List] :s Comma-separated list of column names or column aliases to sort by
26
26
  # @option arguments [Hash] :headers Custom HTTP headers
27
27
  #
28
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/master/cat.html
28
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/8.2/cat.html
29
29
  #
30
30
  def help(arguments = {})
31
31
  arguments = arguments.clone
@@ -36,7 +36,7 @@ module Elasticsearch
36
36
  # @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)
37
37
  # @option arguments [Hash] :headers Custom HTTP headers
38
38
  #
39
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-indices.html
39
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/8.2/cat-indices.html
40
40
  #
41
41
  def indices(arguments = {})
42
42
  arguments = arguments.clone
@@ -30,7 +30,7 @@ module Elasticsearch
30
30
  # @option arguments [Boolean] :v Verbose mode. Display column headers
31
31
  # @option arguments [Hash] :headers Custom HTTP headers
32
32
  #
33
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-master.html
33
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/8.2/cat-master.html
34
34
  #
35
35
  def master(arguments = {})
36
36
  arguments = arguments.clone
@@ -32,7 +32,7 @@ module Elasticsearch
32
32
  # @option arguments [Boolean] :v Verbose mode. Display column headers
33
33
  # @option arguments [Hash] :headers Custom HTTP headers
34
34
  #
35
- # @see http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-dfanalytics.html
35
+ # @see http://www.elastic.co/guide/en/elasticsearch/reference/8.2/cat-dfanalytics.html
36
36
  #
37
37
  def ml_data_frame_analytics(arguments = {})
38
38
  arguments = arguments.clone
@@ -23,7 +23,6 @@ module Elasticsearch
23
23
  #
24
24
  # @option arguments [String] :datafeed_id The ID of the datafeeds stats to fetch
25
25
  # @option arguments [Boolean] :allow_no_match Whether to ignore if a wildcard expression matches no datafeeds. (This includes `_all` string or when no datafeeds have been specified)
26
- # @option arguments [Boolean] :allow_no_datafeeds Whether to ignore if a wildcard expression matches no datafeeds. (This includes `_all` string or when no datafeeds have been specified) *Deprecated*
27
26
  # @option arguments [String] :format a short version of the Accept header, e.g. json, yaml
28
27
  # @option arguments [List] :h Comma-separated list of column names to display
29
28
  # @option arguments [Boolean] :help Return help information
@@ -32,7 +31,7 @@ module Elasticsearch
32
31
  # @option arguments [Boolean] :v Verbose mode. Display column headers
33
32
  # @option arguments [Hash] :headers Custom HTTP headers
34
33
  #
35
- # @see http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-datafeeds.html
34
+ # @see http://www.elastic.co/guide/en/elasticsearch/reference/8.2/cat-datafeeds.html
36
35
  #
37
36
  def ml_datafeeds(arguments = {})
38
37
  arguments = arguments.clone
@@ -23,7 +23,6 @@ module Elasticsearch
23
23
  #
24
24
  # @option arguments [String] :job_id The ID of the jobs stats to fetch
25
25
  # @option arguments [Boolean] :allow_no_match Whether to ignore if a wildcard expression matches no jobs. (This includes `_all` string or when no jobs have been specified)
26
- # @option arguments [Boolean] :allow_no_jobs Whether to ignore if a wildcard expression matches no jobs. (This includes `_all` string or when no jobs have been specified) *Deprecated*
27
26
  # @option arguments [String] :bytes The unit in which to display byte values (options: b, k, kb, m, mb, g, gb, t, tb, p, pb)
28
27
  # @option arguments [String] :format a short version of the Accept header, e.g. json, yaml
29
28
  # @option arguments [List] :h Comma-separated list of column names to display
@@ -33,7 +32,7 @@ module Elasticsearch
33
32
  # @option arguments [Boolean] :v Verbose mode. Display column headers
34
33
  # @option arguments [Hash] :headers Custom HTTP headers
35
34
  #
36
- # @see http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-anomaly-detectors.html
35
+ # @see http://www.elastic.co/guide/en/elasticsearch/reference/8.2/cat-anomaly-detectors.html
37
36
  #
38
37
  def ml_jobs(arguments = {})
39
38
  arguments = arguments.clone
@@ -34,7 +34,7 @@ module Elasticsearch
34
34
  # @option arguments [Boolean] :v Verbose mode. Display column headers
35
35
  # @option arguments [Hash] :headers Custom HTTP headers
36
36
  #
37
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-trained-model.html
37
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/8.2/cat-trained-model.html
38
38
  #
39
39
  def ml_trained_models(arguments = {})
40
40
  arguments = arguments.clone
@@ -30,7 +30,7 @@ module Elasticsearch
30
30
  # @option arguments [Boolean] :v Verbose mode. Display column headers
31
31
  # @option arguments [Hash] :headers Custom HTTP headers
32
32
  #
33
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-nodeattrs.html
33
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/8.2/cat-nodeattrs.html
34
34
  #
35
35
  def nodeattrs(arguments = {})
36
36
  arguments = arguments.clone
@@ -33,7 +33,7 @@ module Elasticsearch
33
33
  # @option arguments [Boolean] :include_unloaded_segments If set to true segment stats will include stats for segments that are not currently loaded into memory
34
34
  # @option arguments [Hash] :headers Custom HTTP headers
35
35
  #
36
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-nodes.html
36
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/8.2/cat-nodes.html
37
37
  #
38
38
  def nodes(arguments = {})
39
39
  arguments = arguments.clone
@@ -31,7 +31,7 @@ module Elasticsearch
31
31
  # @option arguments [Boolean] :v Verbose mode. Display column headers
32
32
  # @option arguments [Hash] :headers Custom HTTP headers
33
33
  #
34
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-pending-tasks.html
34
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/8.2/cat-pending-tasks.html
35
35
  #
36
36
  def pending_tasks(arguments = {})
37
37
  arguments = arguments.clone
@@ -31,7 +31,7 @@ module Elasticsearch
31
31
  # @option arguments [Boolean] :v Verbose mode. Display column headers
32
32
  # @option arguments [Hash] :headers Custom HTTP headers
33
33
  #
34
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-plugins.html
34
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/8.2/cat-plugins.html
35
35
  #
36
36
  def plugins(arguments = {})
37
37
  arguments = arguments.clone
@@ -33,7 +33,7 @@ module Elasticsearch
33
33
  # @option arguments [Boolean] :v Verbose mode. Display column headers
34
34
  # @option arguments [Hash] :headers Custom HTTP headers
35
35
  #
36
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-recovery.html
36
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/8.2/cat-recovery.html
37
37
  #
38
38
  def recovery(arguments = {})
39
39
  arguments = arguments.clone
@@ -30,7 +30,7 @@ module Elasticsearch
30
30
  # @option arguments [Boolean] :v Verbose mode. Display column headers
31
31
  # @option arguments [Hash] :headers Custom HTTP headers
32
32
  #
33
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-repositories.html
33
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/8.2/cat-repositories.html
34
34
  #
35
35
  def repositories(arguments = {})
36
36
  arguments = arguments.clone
@@ -30,7 +30,7 @@ module Elasticsearch
30
30
  # @option arguments [Boolean] :v Verbose mode. Display column headers
31
31
  # @option arguments [Hash] :headers Custom HTTP headers
32
32
  #
33
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-segments.html
33
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/8.2/cat-segments.html
34
34
  #
35
35
  def segments(arguments = {})
36
36
  arguments = arguments.clone