elasticsearch-api 8.12.2 → 8.14.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (566) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/Rakefile +5 -3
  4. data/api-spec-testing/test_file/task_group.rb +1 -0
  5. data/api-spec-testing/test_file/test.rb +1 -1
  6. data/api-spec-testing/wipe_cluster.rb +5 -3
  7. data/lib/elasticsearch/api/actions/async_search/delete.rb +3 -4
  8. data/lib/elasticsearch/api/actions/async_search/get.rb +3 -4
  9. data/lib/elasticsearch/api/actions/async_search/status.rb +5 -5
  10. data/lib/elasticsearch/api/actions/async_search/submit.rb +4 -5
  11. data/lib/elasticsearch/api/actions/autoscaling/delete_autoscaling_policy.rb +3 -4
  12. data/lib/elasticsearch/api/actions/autoscaling/get_autoscaling_capacity.rb +3 -3
  13. data/lib/elasticsearch/api/actions/autoscaling/get_autoscaling_policy.rb +3 -4
  14. data/lib/elasticsearch/api/actions/autoscaling/put_autoscaling_policy.rb +3 -4
  15. data/lib/elasticsearch/api/actions/bulk.rb +11 -11
  16. data/lib/elasticsearch/api/actions/cat/aliases.rb +4 -5
  17. data/lib/elasticsearch/api/actions/cat/allocation.rb +4 -5
  18. data/lib/elasticsearch/api/actions/cat/component_templates.rb +4 -5
  19. data/lib/elasticsearch/api/actions/cat/count.rb +4 -5
  20. data/lib/elasticsearch/api/actions/cat/fielddata.rb +4 -5
  21. data/lib/elasticsearch/api/actions/cat/health.rb +3 -3
  22. data/lib/elasticsearch/api/actions/cat/help.rb +3 -3
  23. data/lib/elasticsearch/api/actions/cat/indices.rb +4 -5
  24. data/lib/elasticsearch/api/actions/cat/master.rb +3 -3
  25. data/lib/elasticsearch/api/actions/cat/ml_data_frame_analytics.rb +4 -5
  26. data/lib/elasticsearch/api/actions/cat/ml_datafeeds.rb +4 -5
  27. data/lib/elasticsearch/api/actions/cat/ml_jobs.rb +4 -5
  28. data/lib/elasticsearch/api/actions/cat/ml_trained_models.rb +4 -5
  29. data/lib/elasticsearch/api/actions/cat/nodeattrs.rb +3 -3
  30. data/lib/elasticsearch/api/actions/cat/nodes.rb +3 -3
  31. data/lib/elasticsearch/api/actions/cat/pending_tasks.rb +3 -3
  32. data/lib/elasticsearch/api/actions/cat/plugins.rb +3 -3
  33. data/lib/elasticsearch/api/actions/cat/recovery.rb +4 -5
  34. data/lib/elasticsearch/api/actions/cat/repositories.rb +3 -3
  35. data/lib/elasticsearch/api/actions/cat/segments.rb +4 -5
  36. data/lib/elasticsearch/api/actions/cat/shards.rb +4 -5
  37. data/lib/elasticsearch/api/actions/cat/snapshots.rb +4 -5
  38. data/lib/elasticsearch/api/actions/cat/tasks.rb +3 -3
  39. data/lib/elasticsearch/api/actions/cat/templates.rb +4 -5
  40. data/lib/elasticsearch/api/actions/cat/thread_pool.rb +4 -5
  41. data/lib/elasticsearch/api/actions/cat/transforms.rb +4 -5
  42. data/lib/elasticsearch/api/actions/clear_scroll.rb +6 -7
  43. data/lib/elasticsearch/api/actions/close_point_in_time.rb +3 -3
  44. data/lib/elasticsearch/api/actions/cluster/allocation_explain.rb +3 -3
  45. data/lib/elasticsearch/api/actions/cluster/delete_component_template.rb +3 -4
  46. data/lib/elasticsearch/api/actions/cluster/delete_voting_config_exclusions.rb +3 -3
  47. data/lib/elasticsearch/api/actions/cluster/exists_component_template.rb +4 -5
  48. data/lib/elasticsearch/api/actions/cluster/get_component_template.rb +4 -5
  49. data/lib/elasticsearch/api/actions/cluster/get_settings.rb +3 -3
  50. data/lib/elasticsearch/api/actions/cluster/health.rb +4 -5
  51. data/lib/elasticsearch/api/actions/cluster/info.rb +3 -4
  52. data/lib/elasticsearch/api/actions/cluster/pending_tasks.rb +3 -3
  53. data/lib/elasticsearch/api/actions/cluster/post_voting_config_exclusions.rb +3 -3
  54. data/lib/elasticsearch/api/actions/cluster/put_component_template.rb +3 -4
  55. data/lib/elasticsearch/api/actions/cluster/put_settings.rb +3 -3
  56. data/lib/elasticsearch/api/actions/cluster/remote_info.rb +3 -3
  57. data/lib/elasticsearch/api/actions/cluster/reroute.rb +3 -3
  58. data/lib/elasticsearch/api/actions/cluster/state.rb +4 -5
  59. data/lib/elasticsearch/api/actions/cluster/stats.rb +4 -5
  60. data/lib/elasticsearch/api/actions/connector/check_in.rb +3 -4
  61. data/lib/elasticsearch/api/actions/connector/delete.rb +5 -5
  62. data/lib/elasticsearch/api/actions/connector/get.rb +3 -4
  63. data/lib/elasticsearch/api/actions/connector/last_sync.rb +3 -4
  64. data/lib/elasticsearch/api/actions/connector/list.rb +8 -4
  65. data/lib/elasticsearch/api/actions/connector/post.rb +3 -3
  66. data/lib/elasticsearch/api/actions/connector/put.rb +3 -4
  67. data/lib/elasticsearch/api/actions/connector/secret_delete.rb +64 -0
  68. data/lib/elasticsearch/api/actions/connector/secret_get.rb +64 -0
  69. data/lib/elasticsearch/api/actions/connector/secret_post.rb +57 -0
  70. data/lib/elasticsearch/api/actions/connector/secret_put.rb +66 -0
  71. data/lib/elasticsearch/api/actions/{connector_sync_job/cancel.rb → connector/sync_job_cancel.rb} +9 -8
  72. data/lib/elasticsearch/api/actions/{connector_sync_job/check_in.rb → connector/sync_job_check_in.rb} +9 -8
  73. data/lib/elasticsearch/api/actions/{connector_sync_job/delete.rb → connector/sync_job_delete.rb} +9 -8
  74. data/lib/elasticsearch/api/actions/{connector_sync_job/error.rb → connector/sync_job_error.rb} +9 -8
  75. data/lib/elasticsearch/api/actions/{connector_sync_job/get.rb → connector/sync_job_get.rb} +9 -8
  76. data/lib/elasticsearch/api/actions/{connector_sync_job/list.rb → connector/sync_job_list.rb} +6 -5
  77. data/lib/elasticsearch/api/actions/{connector_sync_job/post.rb → connector/sync_job_post.rb} +5 -5
  78. data/lib/elasticsearch/api/actions/{connector_sync_job/update_stats.rb → connector/sync_job_update_stats.rb} +9 -8
  79. data/lib/elasticsearch/api/actions/connector/update_active_filtering.rb +64 -0
  80. data/lib/elasticsearch/api/actions/connector/update_api_key_id.rb +66 -0
  81. data/lib/elasticsearch/api/actions/connector/update_configuration.rb +3 -4
  82. data/lib/elasticsearch/api/actions/connector/update_error.rb +3 -4
  83. data/lib/elasticsearch/api/actions/connector/update_filtering.rb +3 -4
  84. data/lib/elasticsearch/api/actions/connector/update_filtering_validation.rb +66 -0
  85. data/lib/elasticsearch/api/actions/connector/update_index_name.rb +66 -0
  86. data/lib/elasticsearch/api/actions/connector/update_name.rb +3 -4
  87. data/lib/elasticsearch/api/actions/connector/update_native.rb +66 -0
  88. data/lib/elasticsearch/api/actions/connector/update_pipeline.rb +3 -4
  89. data/lib/elasticsearch/api/actions/connector/update_scheduling.rb +3 -4
  90. data/lib/elasticsearch/api/actions/connector/update_service_type.rb +66 -0
  91. data/lib/elasticsearch/api/actions/connector/update_status.rb +66 -0
  92. data/lib/elasticsearch/api/actions/count.rb +9 -10
  93. data/lib/elasticsearch/api/actions/create.rb +3 -4
  94. data/lib/elasticsearch/api/actions/cross_cluster_replication/delete_auto_follow_pattern.rb +5 -5
  95. data/lib/elasticsearch/api/actions/cross_cluster_replication/follow.rb +4 -4
  96. data/lib/elasticsearch/api/actions/cross_cluster_replication/follow_info.rb +5 -5
  97. data/lib/elasticsearch/api/actions/cross_cluster_replication/follow_stats.rb +5 -5
  98. data/lib/elasticsearch/api/actions/cross_cluster_replication/forget_follower.rb +5 -5
  99. data/lib/elasticsearch/api/actions/cross_cluster_replication/get_auto_follow_pattern.rb +6 -6
  100. data/lib/elasticsearch/api/actions/cross_cluster_replication/pause_auto_follow_pattern.rb +5 -5
  101. data/lib/elasticsearch/api/actions/cross_cluster_replication/pause_follow.rb +5 -5
  102. data/lib/elasticsearch/api/actions/cross_cluster_replication/put_auto_follow_pattern.rb +5 -5
  103. data/lib/elasticsearch/api/actions/cross_cluster_replication/resume_auto_follow_pattern.rb +5 -5
  104. data/lib/elasticsearch/api/actions/cross_cluster_replication/resume_follow.rb +5 -5
  105. data/lib/elasticsearch/api/actions/cross_cluster_replication/stats.rb +6 -4
  106. data/lib/elasticsearch/api/actions/cross_cluster_replication/unfollow.rb +5 -5
  107. data/lib/elasticsearch/api/actions/dangling_indices/delete_dangling_index.rb +3 -4
  108. data/lib/elasticsearch/api/actions/dangling_indices/import_dangling_index.rb +3 -4
  109. data/lib/elasticsearch/api/actions/dangling_indices/list_dangling_indices.rb +3 -3
  110. data/lib/elasticsearch/api/actions/delete.rb +5 -6
  111. data/lib/elasticsearch/api/actions/delete_by_query.rb +3 -4
  112. data/lib/elasticsearch/api/actions/delete_by_query_rethrottle.rb +3 -4
  113. data/lib/elasticsearch/api/actions/delete_script.rb +3 -4
  114. data/lib/elasticsearch/api/actions/enrich/delete_policy.rb +3 -4
  115. data/lib/elasticsearch/api/actions/enrich/execute_policy.rb +3 -4
  116. data/lib/elasticsearch/api/actions/enrich/get_policy.rb +4 -5
  117. data/lib/elasticsearch/api/actions/enrich/put_policy.rb +3 -4
  118. data/lib/elasticsearch/api/actions/enrich/stats.rb +3 -3
  119. data/lib/elasticsearch/api/actions/eql/delete.rb +3 -4
  120. data/lib/elasticsearch/api/actions/eql/get.rb +3 -4
  121. data/lib/elasticsearch/api/actions/eql/get_status.rb +3 -4
  122. data/lib/elasticsearch/api/actions/eql/search.rb +3 -4
  123. data/lib/elasticsearch/api/actions/esql/async_query.rb +56 -0
  124. data/lib/elasticsearch/api/actions/esql/async_query_get.rb +63 -0
  125. data/lib/elasticsearch/api/actions/esql/query.rb +5 -8
  126. data/lib/elasticsearch/api/actions/exists.rb +5 -6
  127. data/lib/elasticsearch/api/actions/exists_source.rb +4 -5
  128. data/lib/elasticsearch/api/actions/explain.rb +4 -5
  129. data/lib/elasticsearch/api/actions/features/get_features.rb +3 -3
  130. data/lib/elasticsearch/api/actions/features/reset_features.rb +3 -3
  131. data/lib/elasticsearch/api/actions/field_caps.rb +10 -10
  132. data/lib/elasticsearch/api/actions/fleet/delete_secret.rb +2 -3
  133. data/lib/elasticsearch/api/actions/fleet/get_secret.rb +2 -3
  134. data/lib/elasticsearch/api/actions/fleet/global_checkpoints.rb +3 -4
  135. data/lib/elasticsearch/api/actions/fleet/msearch.rb +9 -12
  136. data/lib/elasticsearch/api/actions/fleet/post_secret.rb +2 -2
  137. data/lib/elasticsearch/api/actions/fleet/search.rb +4 -5
  138. data/lib/elasticsearch/api/actions/get.rb +5 -6
  139. data/lib/elasticsearch/api/actions/get_script.rb +3 -4
  140. data/lib/elasticsearch/api/actions/get_script_context.rb +3 -3
  141. data/lib/elasticsearch/api/actions/get_script_languages.rb +3 -3
  142. data/lib/elasticsearch/api/actions/get_source.rb +3 -4
  143. data/lib/elasticsearch/api/actions/graph/explore.rb +5 -6
  144. data/lib/elasticsearch/api/actions/health_report.rb +4 -5
  145. data/lib/elasticsearch/api/actions/index.rb +4 -4
  146. data/lib/elasticsearch/api/actions/index_lifecycle_management/delete_lifecycle.rb +3 -4
  147. data/lib/elasticsearch/api/actions/index_lifecycle_management/explain_lifecycle.rb +3 -4
  148. data/lib/elasticsearch/api/actions/index_lifecycle_management/get_lifecycle.rb +4 -5
  149. data/lib/elasticsearch/api/actions/index_lifecycle_management/get_status.rb +3 -3
  150. data/lib/elasticsearch/api/actions/index_lifecycle_management/migrate_to_data_tiers.rb +3 -3
  151. data/lib/elasticsearch/api/actions/index_lifecycle_management/move_to_step.rb +3 -4
  152. data/lib/elasticsearch/api/actions/index_lifecycle_management/put_lifecycle.rb +3 -4
  153. data/lib/elasticsearch/api/actions/index_lifecycle_management/remove_policy.rb +3 -4
  154. data/lib/elasticsearch/api/actions/index_lifecycle_management/retry.rb +3 -4
  155. data/lib/elasticsearch/api/actions/index_lifecycle_management/start.rb +3 -3
  156. data/lib/elasticsearch/api/actions/index_lifecycle_management/stop.rb +3 -3
  157. data/lib/elasticsearch/api/actions/indices/add_block.rb +3 -4
  158. data/lib/elasticsearch/api/actions/indices/analyze.rb +9 -10
  159. data/lib/elasticsearch/api/actions/indices/clear_cache.rb +4 -5
  160. data/lib/elasticsearch/api/actions/indices/clone.rb +3 -4
  161. data/lib/elasticsearch/api/actions/indices/close.rb +3 -4
  162. data/lib/elasticsearch/api/actions/indices/create.rb +3 -4
  163. data/lib/elasticsearch/api/actions/indices/create_data_stream.rb +3 -4
  164. data/lib/elasticsearch/api/actions/indices/data_streams_stats.rb +4 -5
  165. data/lib/elasticsearch/api/actions/indices/delete.rb +5 -6
  166. data/lib/elasticsearch/api/actions/indices/delete_alias.rb +4 -7
  167. data/lib/elasticsearch/api/actions/indices/delete_data_lifecycle.rb +3 -4
  168. data/lib/elasticsearch/api/actions/indices/delete_data_stream.rb +3 -4
  169. data/lib/elasticsearch/api/actions/indices/delete_index_template.rb +3 -4
  170. data/lib/elasticsearch/api/actions/indices/delete_template.rb +5 -6
  171. data/lib/elasticsearch/api/actions/indices/disk_usage.rb +3 -4
  172. data/lib/elasticsearch/api/actions/indices/downsample.rb +3 -4
  173. data/lib/elasticsearch/api/actions/indices/exists.rb +5 -6
  174. data/lib/elasticsearch/api/actions/indices/exists_alias.rb +5 -6
  175. data/lib/elasticsearch/api/actions/indices/exists_index_template.rb +4 -5
  176. data/lib/elasticsearch/api/actions/indices/exists_template.rb +5 -6
  177. data/lib/elasticsearch/api/actions/indices/explain_data_lifecycle.rb +3 -4
  178. data/lib/elasticsearch/api/actions/indices/field_usage_stats.rb +3 -4
  179. data/lib/elasticsearch/api/actions/indices/flush.rb +4 -5
  180. data/lib/elasticsearch/api/actions/indices/forcemerge.rb +4 -5
  181. data/lib/elasticsearch/api/actions/indices/get.rb +3 -4
  182. data/lib/elasticsearch/api/actions/indices/get_alias.rb +4 -5
  183. data/lib/elasticsearch/api/actions/indices/get_data_lifecycle.rb +3 -4
  184. data/lib/elasticsearch/api/actions/indices/get_data_stream.rb +4 -5
  185. data/lib/elasticsearch/api/actions/indices/get_field_mapping.rb +3 -4
  186. data/lib/elasticsearch/api/actions/indices/get_index_template.rb +4 -5
  187. data/lib/elasticsearch/api/actions/indices/get_mapping.rb +4 -5
  188. data/lib/elasticsearch/api/actions/indices/get_settings.rb +4 -5
  189. data/lib/elasticsearch/api/actions/indices/get_template.rb +4 -5
  190. data/lib/elasticsearch/api/actions/indices/migrate_to_data_stream.rb +3 -4
  191. data/lib/elasticsearch/api/actions/indices/modify_data_stream.rb +3 -3
  192. data/lib/elasticsearch/api/actions/indices/open.rb +3 -4
  193. data/lib/elasticsearch/api/actions/indices/promote_data_stream.rb +3 -4
  194. data/lib/elasticsearch/api/actions/indices/put_alias.rb +4 -7
  195. data/lib/elasticsearch/api/actions/indices/put_data_lifecycle.rb +3 -4
  196. data/lib/elasticsearch/api/actions/indices/put_index_template.rb +3 -4
  197. data/lib/elasticsearch/api/actions/indices/put_mapping.rb +3 -4
  198. data/lib/elasticsearch/api/actions/indices/put_settings.rb +4 -5
  199. data/lib/elasticsearch/api/actions/indices/put_template.rb +3 -4
  200. data/lib/elasticsearch/api/actions/indices/recovery.rb +4 -5
  201. data/lib/elasticsearch/api/actions/indices/refresh.rb +4 -5
  202. data/lib/elasticsearch/api/actions/indices/reload_search_analyzers.rb +3 -4
  203. data/lib/elasticsearch/api/actions/indices/resolve_cluster.rb +64 -0
  204. data/lib/elasticsearch/api/actions/indices/resolve_index.rb +3 -4
  205. data/lib/elasticsearch/api/actions/indices/rollover.rb +5 -4
  206. data/lib/elasticsearch/api/actions/indices/segments.rb +4 -5
  207. data/lib/elasticsearch/api/actions/indices/shard_stores.rb +4 -5
  208. data/lib/elasticsearch/api/actions/indices/shrink.rb +3 -4
  209. data/lib/elasticsearch/api/actions/indices/simulate_index_template.rb +3 -4
  210. data/lib/elasticsearch/api/actions/indices/simulate_template.rb +4 -5
  211. data/lib/elasticsearch/api/actions/indices/split.rb +3 -4
  212. data/lib/elasticsearch/api/actions/indices/stats.rb +4 -5
  213. data/lib/elasticsearch/api/actions/indices/unfreeze.rb +3 -4
  214. data/lib/elasticsearch/api/actions/indices/update_aliases.rb +3 -3
  215. data/lib/elasticsearch/api/actions/indices/validate_query.rb +9 -10
  216. data/lib/elasticsearch/api/actions/inference/delete_model.rb +13 -11
  217. data/lib/elasticsearch/api/actions/inference/get_model.rb +14 -12
  218. data/lib/elasticsearch/api/actions/inference/inference.rb +13 -11
  219. data/lib/elasticsearch/api/actions/inference/put_model.rb +13 -11
  220. data/lib/elasticsearch/api/actions/info.rb +3 -3
  221. data/lib/elasticsearch/api/actions/ingest/delete_pipeline.rb +3 -4
  222. data/lib/elasticsearch/api/actions/ingest/geo_ip_stats.rb +3 -3
  223. data/lib/elasticsearch/api/actions/ingest/get_pipeline.rb +4 -5
  224. data/lib/elasticsearch/api/actions/ingest/processor_grok.rb +3 -3
  225. data/lib/elasticsearch/api/actions/ingest/put_pipeline.rb +3 -4
  226. data/lib/elasticsearch/api/actions/ingest/simulate.rb +4 -5
  227. data/lib/elasticsearch/api/actions/knn_search.rb +5 -6
  228. data/lib/elasticsearch/api/actions/license/delete.rb +3 -3
  229. data/lib/elasticsearch/api/actions/license/get.rb +3 -3
  230. data/lib/elasticsearch/api/actions/license/get_basic_status.rb +3 -3
  231. data/lib/elasticsearch/api/actions/license/get_trial_status.rb +3 -3
  232. data/lib/elasticsearch/api/actions/license/post.rb +3 -3
  233. data/lib/elasticsearch/api/actions/license/post_start_basic.rb +3 -3
  234. data/lib/elasticsearch/api/actions/license/post_start_trial.rb +3 -3
  235. data/lib/elasticsearch/api/actions/logstash/delete_pipeline.rb +3 -4
  236. data/lib/elasticsearch/api/actions/logstash/get_pipeline.rb +4 -5
  237. data/lib/elasticsearch/api/actions/logstash/put_pipeline.rb +3 -4
  238. data/lib/elasticsearch/api/actions/machine_learning/clear_trained_model_deployment_cache.rb +3 -4
  239. data/lib/elasticsearch/api/actions/machine_learning/close_job.rb +3 -4
  240. data/lib/elasticsearch/api/actions/machine_learning/delete_calendar.rb +3 -4
  241. data/lib/elasticsearch/api/actions/machine_learning/delete_calendar_event.rb +3 -4
  242. data/lib/elasticsearch/api/actions/machine_learning/delete_calendar_job.rb +3 -4
  243. data/lib/elasticsearch/api/actions/machine_learning/delete_data_frame_analytics.rb +3 -4
  244. data/lib/elasticsearch/api/actions/machine_learning/delete_datafeed.rb +3 -4
  245. data/lib/elasticsearch/api/actions/machine_learning/delete_expired_data.rb +4 -5
  246. data/lib/elasticsearch/api/actions/machine_learning/delete_filter.rb +3 -4
  247. data/lib/elasticsearch/api/actions/machine_learning/delete_forecast.rb +3 -4
  248. data/lib/elasticsearch/api/actions/machine_learning/delete_job.rb +3 -4
  249. data/lib/elasticsearch/api/actions/machine_learning/delete_model_snapshot.rb +3 -4
  250. data/lib/elasticsearch/api/actions/machine_learning/delete_trained_model.rb +3 -4
  251. data/lib/elasticsearch/api/actions/machine_learning/delete_trained_model_alias.rb +3 -4
  252. data/lib/elasticsearch/api/actions/machine_learning/estimate_model_memory.rb +3 -3
  253. data/lib/elasticsearch/api/actions/machine_learning/evaluate_data_frame.rb +3 -3
  254. data/lib/elasticsearch/api/actions/machine_learning/explain_data_frame_analytics.rb +8 -9
  255. data/lib/elasticsearch/api/actions/machine_learning/flush_job.rb +3 -4
  256. data/lib/elasticsearch/api/actions/machine_learning/forecast.rb +3 -4
  257. data/lib/elasticsearch/api/actions/machine_learning/get_buckets.rb +8 -9
  258. data/lib/elasticsearch/api/actions/machine_learning/get_calendar_events.rb +3 -4
  259. data/lib/elasticsearch/api/actions/machine_learning/get_calendars.rb +8 -9
  260. data/lib/elasticsearch/api/actions/machine_learning/get_categories.rb +8 -9
  261. data/lib/elasticsearch/api/actions/machine_learning/get_data_frame_analytics.rb +4 -5
  262. data/lib/elasticsearch/api/actions/machine_learning/get_data_frame_analytics_stats.rb +4 -5
  263. data/lib/elasticsearch/api/actions/machine_learning/get_datafeed_stats.rb +4 -5
  264. data/lib/elasticsearch/api/actions/machine_learning/get_datafeeds.rb +4 -5
  265. data/lib/elasticsearch/api/actions/machine_learning/get_filters.rb +4 -5
  266. data/lib/elasticsearch/api/actions/machine_learning/get_influencers.rb +4 -5
  267. data/lib/elasticsearch/api/actions/machine_learning/get_job_stats.rb +4 -5
  268. data/lib/elasticsearch/api/actions/machine_learning/get_jobs.rb +4 -5
  269. data/lib/elasticsearch/api/actions/machine_learning/get_memory_stats.rb +4 -5
  270. data/lib/elasticsearch/api/actions/machine_learning/get_model_snapshot_upgrade_stats.rb +3 -4
  271. data/lib/elasticsearch/api/actions/machine_learning/get_model_snapshots.rb +8 -9
  272. data/lib/elasticsearch/api/actions/machine_learning/get_overall_buckets.rb +4 -5
  273. data/lib/elasticsearch/api/actions/machine_learning/get_records.rb +4 -5
  274. data/lib/elasticsearch/api/actions/machine_learning/get_trained_models.rb +4 -5
  275. data/lib/elasticsearch/api/actions/machine_learning/get_trained_models_stats.rb +4 -5
  276. data/lib/elasticsearch/api/actions/machine_learning/infer_trained_model.rb +4 -7
  277. data/lib/elasticsearch/api/actions/machine_learning/info.rb +3 -3
  278. data/lib/elasticsearch/api/actions/machine_learning/open_job.rb +3 -4
  279. data/lib/elasticsearch/api/actions/machine_learning/post_calendar_events.rb +3 -4
  280. data/lib/elasticsearch/api/actions/machine_learning/post_data.rb +3 -4
  281. data/lib/elasticsearch/api/actions/machine_learning/preview_data_frame_analytics.rb +8 -9
  282. data/lib/elasticsearch/api/actions/machine_learning/preview_datafeed.rb +8 -9
  283. data/lib/elasticsearch/api/actions/machine_learning/put_calendar.rb +3 -4
  284. data/lib/elasticsearch/api/actions/machine_learning/put_calendar_job.rb +3 -4
  285. data/lib/elasticsearch/api/actions/machine_learning/put_data_frame_analytics.rb +3 -4
  286. data/lib/elasticsearch/api/actions/machine_learning/put_datafeed.rb +3 -4
  287. data/lib/elasticsearch/api/actions/machine_learning/put_filter.rb +3 -4
  288. data/lib/elasticsearch/api/actions/machine_learning/put_job.rb +3 -4
  289. data/lib/elasticsearch/api/actions/machine_learning/put_trained_model.rb +3 -4
  290. data/lib/elasticsearch/api/actions/machine_learning/put_trained_model_alias.rb +3 -4
  291. data/lib/elasticsearch/api/actions/machine_learning/put_trained_model_definition_part.rb +3 -4
  292. data/lib/elasticsearch/api/actions/machine_learning/put_trained_model_vocabulary.rb +3 -4
  293. data/lib/elasticsearch/api/actions/machine_learning/reset_job.rb +3 -4
  294. data/lib/elasticsearch/api/actions/machine_learning/revert_model_snapshot.rb +3 -4
  295. data/lib/elasticsearch/api/actions/machine_learning/set_upgrade_mode.rb +3 -3
  296. data/lib/elasticsearch/api/actions/machine_learning/start_data_frame_analytics.rb +3 -4
  297. data/lib/elasticsearch/api/actions/machine_learning/start_datafeed.rb +3 -4
  298. data/lib/elasticsearch/api/actions/machine_learning/start_trained_model_deployment.rb +3 -4
  299. data/lib/elasticsearch/api/actions/machine_learning/stop_data_frame_analytics.rb +3 -4
  300. data/lib/elasticsearch/api/actions/machine_learning/stop_datafeed.rb +3 -4
  301. data/lib/elasticsearch/api/actions/machine_learning/stop_trained_model_deployment.rb +3 -4
  302. data/lib/elasticsearch/api/actions/machine_learning/update_data_frame_analytics.rb +3 -4
  303. data/lib/elasticsearch/api/actions/machine_learning/update_datafeed.rb +3 -4
  304. data/lib/elasticsearch/api/actions/machine_learning/update_filter.rb +3 -4
  305. data/lib/elasticsearch/api/actions/machine_learning/update_job.rb +3 -4
  306. data/lib/elasticsearch/api/actions/machine_learning/update_model_snapshot.rb +3 -4
  307. data/lib/elasticsearch/api/actions/machine_learning/update_trained_model_deployment.rb +3 -4
  308. data/lib/elasticsearch/api/actions/machine_learning/upgrade_job_snapshot.rb +3 -4
  309. data/lib/elasticsearch/api/actions/machine_learning/validate.rb +3 -3
  310. data/lib/elasticsearch/api/actions/machine_learning/validate_detector.rb +3 -3
  311. data/lib/elasticsearch/api/actions/mget.rb +4 -5
  312. data/lib/elasticsearch/api/actions/migration/deprecations.rb +4 -5
  313. data/lib/elasticsearch/api/actions/migration/get_feature_upgrade_status.rb +3 -3
  314. data/lib/elasticsearch/api/actions/migration/post_feature_upgrade.rb +3 -3
  315. data/lib/elasticsearch/api/actions/monitoring/bulk.rb +10 -11
  316. data/lib/elasticsearch/api/actions/msearch.rb +10 -13
  317. data/lib/elasticsearch/api/actions/msearch_template.rb +8 -11
  318. data/lib/elasticsearch/api/actions/mtermvectors.rb +9 -10
  319. data/lib/elasticsearch/api/actions/nodes/clear_repositories_metering_archive.rb +4 -7
  320. data/lib/elasticsearch/api/actions/nodes/get_repositories_metering_info.rb +3 -4
  321. data/lib/elasticsearch/api/actions/nodes/hot_threads.rb +4 -5
  322. data/lib/elasticsearch/api/actions/nodes/info.rb +4 -5
  323. data/lib/elasticsearch/api/actions/nodes/reload_secure_settings.rb +4 -5
  324. data/lib/elasticsearch/api/actions/nodes/stats.rb +4 -5
  325. data/lib/elasticsearch/api/actions/nodes/usage.rb +4 -5
  326. data/lib/elasticsearch/api/actions/open_point_in_time.rb +3 -4
  327. data/lib/elasticsearch/api/actions/ping.rb +7 -9
  328. data/lib/elasticsearch/api/actions/profiling/flamegraph.rb +53 -0
  329. data/lib/elasticsearch/api/actions/profiling/stacktraces.rb +53 -0
  330. data/lib/elasticsearch/api/actions/profiling/status.rb +3 -3
  331. data/lib/elasticsearch/api/actions/profiling/topn_functions.rb +53 -0
  332. data/lib/elasticsearch/api/actions/put_script.rb +3 -4
  333. data/lib/elasticsearch/api/actions/query_ruleset/delete.rb +3 -4
  334. data/lib/elasticsearch/api/actions/query_ruleset/get.rb +3 -4
  335. data/lib/elasticsearch/api/actions/query_ruleset/list.rb +3 -3
  336. data/lib/elasticsearch/api/actions/query_ruleset/put.rb +3 -4
  337. data/lib/elasticsearch/api/actions/rank_eval.rb +4 -5
  338. data/lib/elasticsearch/api/actions/reindex.rb +3 -3
  339. data/lib/elasticsearch/api/actions/reindex_rethrottle.rb +3 -4
  340. data/lib/elasticsearch/api/actions/render_search_template.rb +8 -9
  341. data/lib/elasticsearch/api/actions/rollup/delete_job.rb +3 -4
  342. data/lib/elasticsearch/api/actions/rollup/get_jobs.rb +4 -5
  343. data/lib/elasticsearch/api/actions/rollup/get_rollup_caps.rb +4 -5
  344. data/lib/elasticsearch/api/actions/rollup/get_rollup_index_caps.rb +3 -4
  345. data/lib/elasticsearch/api/actions/rollup/put_job.rb +3 -4
  346. data/lib/elasticsearch/api/actions/rollup/rollup_search.rb +3 -4
  347. data/lib/elasticsearch/api/actions/rollup/start_job.rb +3 -4
  348. data/lib/elasticsearch/api/actions/rollup/stop_job.rb +3 -4
  349. data/lib/elasticsearch/api/actions/scripts_painless_execute.rb +3 -3
  350. data/lib/elasticsearch/api/actions/scroll.rb +8 -9
  351. data/lib/elasticsearch/api/actions/search.rb +9 -10
  352. data/lib/elasticsearch/api/actions/search_application/delete.rb +3 -4
  353. data/lib/elasticsearch/api/actions/search_application/delete_behavioral_analytics.rb +3 -4
  354. data/lib/elasticsearch/api/actions/search_application/get.rb +3 -4
  355. data/lib/elasticsearch/api/actions/search_application/get_behavioral_analytics.rb +4 -5
  356. data/lib/elasticsearch/api/actions/search_application/list.rb +3 -3
  357. data/lib/elasticsearch/api/actions/search_application/post_behavioral_analytics_event.rb +2 -3
  358. data/lib/elasticsearch/api/actions/search_application/put.rb +3 -4
  359. data/lib/elasticsearch/api/actions/search_application/put_behavioral_analytics.rb +3 -4
  360. data/lib/elasticsearch/api/actions/search_application/render_query.rb +3 -4
  361. data/lib/elasticsearch/api/actions/search_application/search.rb +6 -6
  362. data/lib/elasticsearch/api/actions/search_mvt.rb +3 -4
  363. data/lib/elasticsearch/api/actions/search_shards.rb +4 -5
  364. data/lib/elasticsearch/api/actions/search_template.rb +4 -5
  365. data/lib/elasticsearch/api/actions/searchable_snapshots/cache_stats.rb +4 -5
  366. data/lib/elasticsearch/api/actions/searchable_snapshots/clear_cache.rb +4 -5
  367. data/lib/elasticsearch/api/actions/searchable_snapshots/mount.rb +3 -4
  368. data/lib/elasticsearch/api/actions/searchable_snapshots/stats.rb +4 -5
  369. data/lib/elasticsearch/api/actions/security/activate_user_profile.rb +3 -3
  370. data/lib/elasticsearch/api/actions/security/authenticate.rb +3 -3
  371. data/lib/elasticsearch/api/actions/security/bulk_update_api_keys.rb +3 -3
  372. data/lib/elasticsearch/api/actions/security/change_password.rb +4 -5
  373. data/lib/elasticsearch/api/actions/security/clear_api_key_cache.rb +3 -4
  374. data/lib/elasticsearch/api/actions/security/clear_cached_privileges.rb +3 -4
  375. data/lib/elasticsearch/api/actions/security/clear_cached_realms.rb +3 -4
  376. data/lib/elasticsearch/api/actions/security/clear_cached_roles.rb +3 -4
  377. data/lib/elasticsearch/api/actions/security/clear_cached_service_tokens.rb +3 -4
  378. data/lib/elasticsearch/api/actions/security/create_api_key.rb +3 -3
  379. data/lib/elasticsearch/api/actions/security/create_cross_cluster_api_key.rb +3 -3
  380. data/lib/elasticsearch/api/actions/security/create_service_token.rb +3 -4
  381. data/lib/elasticsearch/api/actions/security/delete_privileges.rb +3 -4
  382. data/lib/elasticsearch/api/actions/security/delete_role.rb +3 -4
  383. data/lib/elasticsearch/api/actions/security/delete_role_mapping.rb +3 -4
  384. data/lib/elasticsearch/api/actions/security/delete_service_token.rb +3 -4
  385. data/lib/elasticsearch/api/actions/security/delete_user.rb +3 -4
  386. data/lib/elasticsearch/api/actions/security/disable_user.rb +3 -4
  387. data/lib/elasticsearch/api/actions/security/disable_user_profile.rb +3 -4
  388. data/lib/elasticsearch/api/actions/security/enable_user.rb +3 -4
  389. data/lib/elasticsearch/api/actions/security/enable_user_profile.rb +3 -4
  390. data/lib/elasticsearch/api/actions/security/enroll_kibana.rb +3 -3
  391. data/lib/elasticsearch/api/actions/security/enroll_node.rb +3 -3
  392. data/lib/elasticsearch/api/actions/security/get_api_key.rb +4 -3
  393. data/lib/elasticsearch/api/actions/security/get_builtin_privileges.rb +3 -3
  394. data/lib/elasticsearch/api/actions/security/get_privileges.rb +4 -5
  395. data/lib/elasticsearch/api/actions/security/get_role.rb +6 -7
  396. data/lib/elasticsearch/api/actions/security/get_role_mapping.rb +4 -5
  397. data/lib/elasticsearch/api/actions/security/get_service_accounts.rb +4 -5
  398. data/lib/elasticsearch/api/actions/security/get_service_credentials.rb +3 -4
  399. data/lib/elasticsearch/api/actions/security/get_settings.rb +3 -3
  400. data/lib/elasticsearch/api/actions/security/get_token.rb +3 -3
  401. data/lib/elasticsearch/api/actions/security/get_user.rb +6 -7
  402. data/lib/elasticsearch/api/actions/security/get_user_privileges.rb +3 -3
  403. data/lib/elasticsearch/api/actions/security/get_user_profile.rb +3 -4
  404. data/lib/elasticsearch/api/actions/security/grant_api_key.rb +3 -3
  405. data/lib/elasticsearch/api/actions/security/has_privileges.rb +4 -5
  406. data/lib/elasticsearch/api/actions/security/has_privileges_user_profile.rb +3 -3
  407. data/lib/elasticsearch/api/actions/security/invalidate_api_key.rb +3 -3
  408. data/lib/elasticsearch/api/actions/security/invalidate_token.rb +3 -3
  409. data/lib/elasticsearch/api/actions/security/oidc_authenticate.rb +3 -3
  410. data/lib/elasticsearch/api/actions/security/oidc_logout.rb +3 -3
  411. data/lib/elasticsearch/api/actions/security/oidc_prepare_authentication.rb +3 -3
  412. data/lib/elasticsearch/api/actions/security/put_privileges.rb +3 -3
  413. data/lib/elasticsearch/api/actions/security/put_role.rb +3 -4
  414. data/lib/elasticsearch/api/actions/security/put_role_mapping.rb +3 -4
  415. data/lib/elasticsearch/api/actions/security/put_user.rb +3 -4
  416. data/lib/elasticsearch/api/actions/security/query_api_keys.rb +5 -3
  417. data/lib/elasticsearch/api/actions/security/query_user.rb +57 -0
  418. data/lib/elasticsearch/api/actions/security/saml_authenticate.rb +3 -3
  419. data/lib/elasticsearch/api/actions/security/saml_complete_logout.rb +3 -3
  420. data/lib/elasticsearch/api/actions/security/saml_invalidate.rb +3 -3
  421. data/lib/elasticsearch/api/actions/security/saml_logout.rb +3 -3
  422. data/lib/elasticsearch/api/actions/security/saml_prepare_authentication.rb +3 -3
  423. data/lib/elasticsearch/api/actions/security/saml_service_provider_metadata.rb +3 -4
  424. data/lib/elasticsearch/api/actions/security/suggest_user_profiles.rb +3 -3
  425. data/lib/elasticsearch/api/actions/security/update_api_key.rb +3 -4
  426. data/lib/elasticsearch/api/actions/security/update_cross_cluster_api_key.rb +3 -4
  427. data/lib/elasticsearch/api/actions/security/update_settings.rb +3 -3
  428. data/lib/elasticsearch/api/actions/security/update_user_profile_data.rb +3 -4
  429. data/lib/elasticsearch/api/actions/shutdown/delete_node.rb +2 -3
  430. data/lib/elasticsearch/api/actions/shutdown/get_node.rb +3 -4
  431. data/lib/elasticsearch/api/actions/shutdown/put_node.rb +2 -3
  432. data/lib/elasticsearch/api/actions/simulate/ingest.rb +4 -5
  433. data/lib/elasticsearch/api/actions/snapshot/cleanup_repository.rb +3 -4
  434. data/lib/elasticsearch/api/actions/snapshot/clone.rb +3 -4
  435. data/lib/elasticsearch/api/actions/snapshot/create.rb +3 -4
  436. data/lib/elasticsearch/api/actions/snapshot/create_repository.rb +3 -4
  437. data/lib/elasticsearch/api/actions/snapshot/delete.rb +5 -6
  438. data/lib/elasticsearch/api/actions/snapshot/delete_repository.rb +5 -6
  439. data/lib/elasticsearch/api/actions/snapshot/get.rb +5 -6
  440. data/lib/elasticsearch/api/actions/snapshot/get_repository.rb +6 -7
  441. data/lib/elasticsearch/api/actions/snapshot/repository_analyze.rb +3 -4
  442. data/lib/elasticsearch/api/actions/snapshot/restore.rb +3 -4
  443. data/lib/elasticsearch/api/actions/snapshot/status.rb +6 -7
  444. data/lib/elasticsearch/api/actions/snapshot/verify_repository.rb +3 -4
  445. data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/delete_lifecycle.rb +3 -4
  446. data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/execute_lifecycle.rb +3 -4
  447. data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/execute_retention.rb +3 -3
  448. data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/get_lifecycle.rb +4 -5
  449. data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/get_stats.rb +3 -3
  450. data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/get_status.rb +3 -3
  451. data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/put_lifecycle.rb +3 -4
  452. data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/start.rb +3 -3
  453. data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/stop.rb +3 -3
  454. data/lib/elasticsearch/api/actions/sql/clear_cursor.rb +3 -3
  455. data/lib/elasticsearch/api/actions/sql/delete_async.rb +3 -4
  456. data/lib/elasticsearch/api/actions/sql/get_async.rb +3 -4
  457. data/lib/elasticsearch/api/actions/sql/get_async_status.rb +3 -4
  458. data/lib/elasticsearch/api/actions/sql/query.rb +3 -3
  459. data/lib/elasticsearch/api/actions/sql/translate.rb +3 -3
  460. data/lib/elasticsearch/api/actions/ssl/certificates.rb +3 -3
  461. data/lib/elasticsearch/api/actions/synonyms/delete_synonym.rb +3 -8
  462. data/lib/elasticsearch/api/actions/synonyms/delete_synonym_rule.rb +3 -8
  463. data/lib/elasticsearch/api/actions/synonyms/get_synonym.rb +3 -8
  464. data/lib/elasticsearch/api/actions/synonyms/get_synonym_rule.rb +3 -8
  465. data/lib/elasticsearch/api/actions/synonyms/get_synonyms_sets.rb +3 -7
  466. data/lib/elasticsearch/api/actions/synonyms/put_synonym.rb +3 -8
  467. data/lib/elasticsearch/api/actions/synonyms/put_synonym_rule.rb +3 -8
  468. data/lib/elasticsearch/api/actions/tasks/cancel.rb +4 -5
  469. data/lib/elasticsearch/api/actions/tasks/get.rb +3 -4
  470. data/lib/elasticsearch/api/actions/tasks/list.rb +3 -3
  471. data/lib/elasticsearch/api/actions/terms_enum.rb +5 -6
  472. data/lib/elasticsearch/api/actions/termvectors.rb +12 -12
  473. data/lib/elasticsearch/api/actions/text_structure/find_field_structure.rb +64 -0
  474. data/lib/elasticsearch/api/actions/text_structure/find_message_structure.rb +64 -0
  475. data/lib/elasticsearch/api/actions/text_structure/find_structure.rb +9 -9
  476. data/lib/elasticsearch/api/actions/text_structure/test_grok_pattern.rb +54 -0
  477. data/lib/elasticsearch/api/actions/transform/delete_transform.rb +3 -4
  478. data/lib/elasticsearch/api/actions/transform/get_transform.rb +4 -5
  479. data/lib/elasticsearch/api/actions/transform/get_transform_stats.rb +3 -4
  480. data/lib/elasticsearch/api/actions/transform/preview_transform.rb +8 -9
  481. data/lib/elasticsearch/api/actions/transform/put_transform.rb +3 -4
  482. data/lib/elasticsearch/api/actions/transform/reset_transform.rb +3 -4
  483. data/lib/elasticsearch/api/actions/transform/schedule_now_transform.rb +3 -4
  484. data/lib/elasticsearch/api/actions/transform/start_transform.rb +3 -4
  485. data/lib/elasticsearch/api/actions/transform/stop_transform.rb +3 -4
  486. data/lib/elasticsearch/api/actions/transform/update_transform.rb +3 -4
  487. data/lib/elasticsearch/api/actions/transform/upgrade_transforms.rb +3 -3
  488. data/lib/elasticsearch/api/actions/update.rb +5 -6
  489. data/lib/elasticsearch/api/actions/update_by_query.rb +3 -4
  490. data/lib/elasticsearch/api/actions/update_by_query_rethrottle.rb +3 -4
  491. data/lib/elasticsearch/api/actions/watcher/ack_watch.rb +3 -4
  492. data/lib/elasticsearch/api/actions/watcher/activate_watch.rb +3 -4
  493. data/lib/elasticsearch/api/actions/watcher/deactivate_watch.rb +3 -4
  494. data/lib/elasticsearch/api/actions/watcher/delete_watch.rb +5 -6
  495. data/lib/elasticsearch/api/actions/watcher/execute_watch.rb +4 -5
  496. data/lib/elasticsearch/api/actions/watcher/get_settings.rb +3 -3
  497. data/lib/elasticsearch/api/actions/watcher/get_watch.rb +3 -4
  498. data/lib/elasticsearch/api/actions/watcher/put_watch.rb +3 -4
  499. data/lib/elasticsearch/api/actions/watcher/query_watches.rb +3 -3
  500. data/lib/elasticsearch/api/actions/watcher/start.rb +3 -3
  501. data/lib/elasticsearch/api/actions/watcher/stats.rb +4 -5
  502. data/lib/elasticsearch/api/actions/watcher/stop.rb +3 -3
  503. data/lib/elasticsearch/api/actions/watcher/update_settings.rb +3 -3
  504. data/lib/elasticsearch/api/actions/xpack/info.rb +3 -3
  505. data/lib/elasticsearch/api/actions/xpack/usage.rb +3 -3
  506. data/lib/elasticsearch/api/version.rb +1 -1
  507. data/lib/elasticsearch/api.rb +1 -2
  508. data/spec/elasticsearch/api/actions/connector/update_active_filtering_spec.rb +38 -0
  509. data/spec/elasticsearch/api/actions/connector/update_api_key_id_spec.rb +38 -0
  510. data/spec/elasticsearch/api/actions/connector/update_filtering_validation_spec.rb +38 -0
  511. data/spec/elasticsearch/api/actions/connector/update_index_name_spec.rb +38 -0
  512. data/spec/elasticsearch/api/actions/connector/update_native_spec.rb +38 -0
  513. data/spec/elasticsearch/api/actions/connector/update_service_type_spec.rb +38 -0
  514. data/spec/elasticsearch/api/actions/connector/update_status_spec.rb +38 -0
  515. data/spec/elasticsearch/api/actions/connector_secret/delete_spec.rb +35 -0
  516. data/spec/elasticsearch/api/actions/connector_secret/get_spec.rb +35 -0
  517. data/spec/elasticsearch/api/actions/connector_secret/post_spec.rb +35 -0
  518. data/spec/elasticsearch/api/actions/connector_secret/put_spec.rb +35 -0
  519. data/spec/elasticsearch/api/actions/connector_sync_job/cancel_spec.rb +3 -3
  520. data/spec/elasticsearch/api/actions/connector_sync_job/check_in_spec.rb +3 -3
  521. data/spec/elasticsearch/api/actions/connector_sync_job/delete_spec.rb +3 -3
  522. data/spec/elasticsearch/api/actions/connector_sync_job/error_spec.rb +3 -3
  523. data/spec/elasticsearch/api/actions/connector_sync_job/get_spec.rb +3 -3
  524. data/spec/elasticsearch/api/actions/connector_sync_job/list_spec.rb +3 -3
  525. data/spec/elasticsearch/api/actions/connector_sync_job/post_spec.rb +3 -3
  526. data/spec/elasticsearch/api/actions/connector_sync_job/update_stats_spec.rb +3 -3
  527. data/spec/elasticsearch/api/actions/esql/async_query_get._spec.rb +35 -0
  528. data/spec/elasticsearch/api/actions/esql/async_query_spec.rb +35 -0
  529. data/spec/elasticsearch/api/actions/indices/resolve_cluster_spec.rb +51 -0
  530. data/spec/elasticsearch/api/actions/inference/delete_model_spec.rb +2 -2
  531. data/spec/elasticsearch/api/actions/inference/get_model_spec.rb +2 -2
  532. data/spec/elasticsearch/api/actions/inference/inference_spec.rb +2 -2
  533. data/spec/elasticsearch/api/actions/inference/put_model_spec.rb +2 -2
  534. data/spec/elasticsearch/api/actions/profiling/flamegraph_spec.rb +35 -0
  535. data/spec/elasticsearch/api/actions/profiling/stacktraces_spec.rb +35 -0
  536. data/spec/elasticsearch/api/actions/profiling/topn_functions_spec.rb +35 -0
  537. data/spec/{platinum/unit/text_structure/find_structure_test.rb → elasticsearch/api/actions/security/query_user_spec.rb} +26 -17
  538. data/spec/elasticsearch/api/actions/text_structure/find_field_structure_spec.rb +35 -0
  539. data/spec/elasticsearch/api/actions/text_structure/find_message_structure_spec.rb +35 -0
  540. data/spec/elasticsearch/api/actions/text_structure/find_structure_spec.rb +35 -0
  541. data/spec/elasticsearch/api/actions/text_structure/test_grok_pattern_spec.rb +35 -0
  542. data/spec/elasticsearch/api/perform_request_spec.rb +1 -1
  543. data/spec/free/integration/health_spec.rb +28 -0
  544. data/spec/free/integration/spec_helper.rb +28 -0
  545. data/spec/platinum/integration/api_key/api_key_cross_cluster_spec.rb +6 -15
  546. data/spec/platinum/integration/api_key/api_key_query_with_aggs_spec.rb +120 -0
  547. data/spec/platinum/integration/platinum_helper.rb +1 -1
  548. data/spec/platinum/integration/security/users_query_spec.rb +49 -0
  549. data/spec/rest_api/rest_api_yaml_spec.rb +6 -0
  550. data/spec/rest_api/skipped_tests_free.yml +45 -0
  551. data/spec/rest_api/skipped_tests_platinum.yml +6 -0
  552. data/{lib/elasticsearch/api/namespace/connector_sync_job.rb → spec/rspec_formatter.rb} +9 -14
  553. data/spec/spec_helper.rb +10 -3
  554. data/utils/Gemfile +1 -1
  555. data/utils/{endpoint_spec.rb → thor/endpoint_spec.rb} +1 -2
  556. data/utils/{endpoint_specifics.rb → thor/endpoint_specifics.rb} +5 -5
  557. data/utils/thor/generate_source.rb +9 -89
  558. data/utils/thor/generator/build_hash_helper.rb +64 -0
  559. data/utils/thor/generator/docs_helper.rb +62 -0
  560. data/utils/thor/generator/files_helper.rb +25 -22
  561. data/utils/thor/templates/_body.erb +1 -1
  562. data/utils/thor/templates/_documentation_top.erb +11 -12
  563. data/utils/thor/templates/_method_setup.erb +6 -6
  564. data/utils/thor/templates/_perform_request.erb +1 -1
  565. data/utils/thor/templates/method.erb +14 -14
  566. metadata +90 -16
@@ -17,7 +17,7 @@
17
17
 
18
18
  require 'spec_helper'
19
19
  require 'elastic-transport'
20
- require_relative '../../../utils/endpoint_spec'
20
+ require_relative '../../../utils/thor/endpoint_spec'
21
21
  require_relative '../../../utils/thor/generator/files_helper'
22
22
 
23
23
  describe 'Perform request args' do
@@ -0,0 +1,28 @@
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
+ # TODO: These tests won't be necessary once we migrate to the new YAML tests
18
+ require_relative './spec_helper'
19
+
20
+ describe "Health basic test" do
21
+ it 'performs the request' do
22
+ response = CLIENT.health_report
23
+ expect(response.status).to eq 200
24
+ expect(response['cluster_name']).not_to be_nil
25
+ expect(response.dig('indicators', 'master_is_stable', 'symptom')).to eq 'The cluster has a stable master node'
26
+ expect(response.dig('indicators', 'master_is_stable', 'status')).to eq 'green'
27
+ end
28
+ end
@@ -0,0 +1,28 @@
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
+ require 'elasticsearch'
18
+
19
+ host = ENV['TEST_ES_SERVER'] || 'http://localhost:9200'
20
+ raise URI::InvalidURIError unless host =~ /\A#{URI::DEFAULT_PARSER.make_regexp}\z/
21
+
22
+ test_suite = ENV['TEST_SUITE'] || 'free'
23
+ password = ENV['ELASTIC_PASSWORD'] || 'changeme'
24
+ uri = URI.parse(host)
25
+ transport_options = {}
26
+ host = "http://elastic:#{password}@#{uri.host}:#{uri.port}".freeze
27
+
28
+ CLIENT = Elasticsearch::Client.new(host: host, transport_options: transport_options)
@@ -30,7 +30,7 @@ describe 'API keys API' do
30
30
  username: user,
31
31
  body: {
32
32
  password: password,
33
- roles: [ 'admin_role' ],
33
+ roles: ['admin_role'],
34
34
  full_name: 'Admin user'
35
35
  }
36
36
  )
@@ -45,31 +45,22 @@ describe 'API keys API' do
45
45
  it 'updates api key' do
46
46
  response = ADMIN_CLIENT.security.create_cross_cluster_api_key(
47
47
  body: {
48
- name: "my-cc-api-key",
49
- expiration: "1d",
48
+ name: 'my-cc-api-key',
49
+ expiration: '1d',
50
50
  access: {
51
51
  search: [
52
- {
53
- names: ["logs*"],
54
- query: {
55
- term: { "category": "shared" }
56
- },
57
- field_security: {
58
- grant: ["*"],
59
- except: ["private"]
60
- }
61
- }
52
+ { names: ['logs*'] }
62
53
  ],
63
54
  replication: [
64
55
  {
65
- names: ["archive"],
56
+ names: ['archive'],
66
57
  allow_restricted_indices: false
67
58
  }
68
59
  ]
69
60
  },
70
61
  metadata: {
71
62
  answer: 42,
72
- tag: "dev"
63
+ tag: 'dev'
73
64
  }
74
65
  }
75
66
  )
@@ -0,0 +1,120 @@
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
+ require_relative '../platinum_helper'
19
+
20
+ describe 'API keys' do
21
+ before do
22
+ ADMIN_CLIENT.security.put_role(
23
+ name: 'admin_role',
24
+ body: { cluster: ['manage_api_key'] }
25
+ )
26
+ ADMIN_CLIENT.security.put_role(
27
+ name: 'user_role',
28
+ body: {
29
+ cluster: ['manage_own_api_key'],
30
+ }
31
+ )
32
+ ADMIN_CLIENT.security.put_user(
33
+ username: 'api_key_manager',
34
+ body: {
35
+ password: 'x-pack-test-password',
36
+ roles: [ 'admin_role' ],
37
+ full_name: 'API key manager'
38
+ }
39
+ )
40
+
41
+ ADMIN_CLIENT.security.put_user(
42
+ username: 'api_key_user',
43
+ body: {
44
+ password: 'x-pack-test-password',
45
+ roles: [ 'user_role' ],
46
+ full_name: 'API key user'
47
+ }
48
+ )
49
+ end
50
+ after do
51
+ ADMIN_CLIENT.security.delete_role(name: "admin_role", ignore: 404)
52
+ ADMIN_CLIENT.security.delete_role(name: "user_role", ignore: 404)
53
+ ADMIN_CLIENT.security.delete_user(username: "api_key_user", ignore: 404)
54
+ ADMIN_CLIENT.security.delete_user(username: "api_key_manager", ignore: 404)
55
+ end
56
+
57
+ def client(headers)
58
+ Elasticsearch::Client.new(
59
+ host: "https://#{HOST_URI.host}:#{HOST_URI.port}",
60
+ transport_options: TRANSPORT_OPTIONS.merge(headers: headers)
61
+ )
62
+ end
63
+
64
+ let(:manager_auth) do
65
+ { Authorization: "Basic YXBpX2tleV9tYW5hZ2VyOngtcGFjay10ZXN0LXBhc3N3b3Jk" }
66
+ end
67
+ let(:user_auth) do
68
+ { Authorization: "Basic YXBpX2tleV9tYW5hZ2VyOngtcGFjay10ZXN0LXBhc3N3b3Jk" }
69
+ end
70
+
71
+ it 'queries api key with args' do
72
+ # api_key_manager authorization:
73
+ client = client(manager_auth)
74
+ response = client.security.create_api_key(
75
+ body: {
76
+ name: 'manager-api-key',
77
+ expiration: '10d',
78
+ metadata: {
79
+ letter: 'a',
80
+ number: 42
81
+ }
82
+ }
83
+ )
84
+ expect(response.status).to eq 200
85
+ id = response['id']
86
+ api_key = response['api_key']
87
+ expect(response['encoded']).to eq Base64.strict_encode64("#{id}:#{api_key}")
88
+
89
+ client = client(user_auth)
90
+ response = client.security.create_api_key(
91
+ body: {
92
+ name: 'user-api-key',
93
+ expiration: '1d',
94
+ metadata: {
95
+ letter: 'a',
96
+ number: 1
97
+ }
98
+ }
99
+ )
100
+ expect(response.status).to eq 200
101
+ id = response['id']
102
+ api_key = response['api_key']
103
+ expect(response['encoded']).to eq Base64.strict_encode64("#{id}:#{api_key}")
104
+
105
+ response = client.security.query_api_keys(
106
+ body: {
107
+ size: 0,
108
+ aggs: {
109
+ my_buckets: {
110
+ composite: {
111
+ sources: [{ key_name: { terms: { field: "name" } } } ]
112
+ }
113
+ }
114
+ }
115
+ }
116
+ )
117
+ expect(response.dig('aggregations', 'my_buckets', 'buckets').find { |a| a.dig('key', 'key_name') == 'manager-api-key'})
118
+ expect(response.dig('aggregations', 'my_buckets', 'buckets').find { |a| a.dig('key', 'key_name') == 'user-api-key'})
119
+ end
120
+ end
@@ -37,6 +37,6 @@ ADMIN_CLIENT = Elasticsearch::Client.new(host: HOST, transport_options: TRANSPOR
37
37
 
38
38
  RSpec.configure do |config|
39
39
  config.add_formatter('documentation')
40
- config.add_formatter('RSpec::Core::Formatters::HtmlFormatter', "tmp/platinum-integration.html")
40
+ config.add_formatter('RSpec::Core::Formatters::HtmlFormatter', "tmp/platinum-#{ENV['RUBY_VERSION']}-manual-integration.html")
41
41
  config.color_mode = :on
42
42
  end
@@ -0,0 +1,49 @@
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
+ require_relative '../platinum_helper'
19
+
20
+ describe 'security/Query User' do
21
+ before do
22
+ ADMIN_CLIENT.security.put_user(
23
+ username: "query_users_test",
24
+ body: {
25
+ password: "x-pack-test-password",
26
+ roles: [ "manage_users_role" ],
27
+ full_name: "Read User"
28
+ }
29
+ )
30
+ end
31
+
32
+ it 'queries users' do
33
+ response = ADMIN_CLIENT.security.query_user(body: {})
34
+ expect(response.status).to eq 200
35
+ expect(response['count']).to be > 0
36
+ expect(response['total']).to be > 0
37
+ end
38
+
39
+ it 'queries user and finds created one' do
40
+ body = {
41
+ query: { wildcard: { username: 'query_users_*' } }
42
+ }
43
+ response = ADMIN_CLIENT.security.query_user(body: body)
44
+ expect(response.status).to eq 200
45
+ expect(response['count']).to be 1
46
+ expect(response['total']).to be 1
47
+ expect(response['users'].first['username']).to eq 'query_users_test'
48
+ end
49
+ end
@@ -30,6 +30,8 @@ describe 'Rest API YAML tests' do
30
30
  exit 1
31
31
  end
32
32
 
33
+ CLUSTER_FEATURES = ADMIN_CLIENT.features.get_features['features'].map { |f| f['name'] }
34
+
33
35
  # Traverse YAML files and create TestFile object:
34
36
  REST_API_YAML_FILES.each do |file|
35
37
  begin
@@ -46,6 +48,10 @@ describe 'Rest API YAML tests' do
46
48
  let(:client) { DEFAULT_CLIENT }
47
49
 
48
50
  test_file.tests.each do |test|
51
+ # To support new features skipping in YAML tests. This will go away with new YAML tests:
52
+ if (feature_to_skip = test.skip&.first&.[]('skip')&.[]('cluster_features'))
53
+ next unless CLUSTER_FEATURES.include? feature_to_skip
54
+ end
49
55
  context test.description do
50
56
  if test.skip_test?(ADMIN_CLIENT)
51
57
  skip 'Test contains feature(s) not yet supported or version is not satisfied'
@@ -31,9 +31,54 @@
31
31
  -
32
32
  :file: 'cluster.desired_nodes/10_basic.yml'
33
33
  :description: 'Test update desired nodes is idempotent with different order'
34
+ -
35
+ :file: 'cluster.desired_nodes/10_basic.yml'
36
+ :description: 'Test node version must be at least the current master version'
37
+ -
38
+ :file: 'cluster.desired_nodes/10_basic.yml'
39
+ :description: 'Test node version must have content'
34
40
  -
35
41
  :file: 'search.vectors/40_knn_search.yml'
36
42
  :description: 'Direct kNN queries are disallowed'
37
43
  -
38
44
  :file: 'search.vectors/45_knn_search_byte.yml'
39
45
  :description: 'Direct kNN queries are disallowed'
46
+ -
47
+ :file: 'tsdb/25_id_generation.yml'
48
+ :description: 'generates a consistent id'
49
+ -
50
+ :file: 'indices.resolve_cluster/10_basic_resolve_cluster.yml'
51
+ :description: 'Resolve cluster using alias and index that does not exist'
52
+ -
53
+ :file: 'health/10_basic.yml' # Migrated to written manually
54
+ :description: 'cluster health basic test'
55
+ -
56
+ :file: 'cat.allocation/10_basic.yml'
57
+ :description: 'One index'
58
+ -
59
+ :file: 'cat.allocation/10_basic.yml'
60
+ :description: 'Node ID'
61
+ -
62
+ :file: 'cat.allocation/10_basic.yml'
63
+ :description: 'All Nodes'
64
+ -
65
+ :file: 'cat.allocation/10_basic.yml'
66
+ :description: 'Column headers'
67
+ -
68
+ :file: 'cat.allocation/10_basic.yml'
69
+ :description: 'Bytes'
70
+ -
71
+ :file: 'search.vectors/120_knn_query_multiple_shards.yml'
72
+ :description: 'Search for 2 knn queries combines scores from them'
73
+ -
74
+ :file: 'search.vectors/140_knn_query_with_other_queries.yml'
75
+ :description: 'Function score query with knn query'
76
+ -
77
+ :file: 'search.vectors/60_knn_search_filter_alias.yml'
78
+ :description: 'kNN filter alias'
79
+ -
80
+ :file: 'cluster.desired_nodes/11_old_format.yml'
81
+ :description: 'Test node version must be at least the current master version'
82
+ -
83
+ :file: 'cluster.desired_nodes/11_old_format.yml'
84
+ :description: 'Test node version must have content'
@@ -112,3 +112,9 @@
112
112
  -
113
113
  :file: 'esql/60_usage.yml'
114
114
  :description: 'Basic ESQL usage output (telemetry)'
115
+ -
116
+ :file: 'users/40_query.yml'
117
+ :description: 'Test query user'
118
+ -
119
+ :file: 'api_key/21_query_with_aggs.yml'
120
+ :description: 'Test composite aggs api key'
@@ -15,22 +15,17 @@
15
15
  # specific language governing permissions and limitations
16
16
  # under the License.
17
17
 
18
- module Elasticsearch
19
- module API
20
- module ConnectorSyncJob
21
- module Actions; end
18
+ class RSpecCustomFormatter < RSpec::Core::Formatters::JsonFormatter
19
+ RSpec::Core::Formatters.register self
22
20
 
23
- # Client for the "connector_sync_job" namespace (includes the {ConnectorSyncJob::Actions} methods)
24
- #
25
- class ConnectorSyncJobClient
26
- include Common::Client, Common::Client::Base, ConnectorSyncJob::Actions
27
- end
21
+ LOGFILE = File.new("tmp/rspec-#{ENV['TEST_SUITE']}-#{RUBY_VERSION}.log", 'w')
28
22
 
29
- # Proxy method for {ConnectorSyncJobClient}, available in the receiving object
30
- #
31
- def connector_sync_job
32
- @connector_sync_job ||= ConnectorSyncJobClient.new(self)
33
- end
23
+ def close(_notification)
24
+ @output_hash[:examples].map do |example|
25
+ regexp = /\S+\/\S+/
26
+ filename = example[:full_description].match(/\S+\/\S+/)[0]
27
+ log ="#{filename} | #{example[:status]} | #{example[:run_time]} | #{example[:full_description]}\n"
28
+ File.write(LOGFILE, log, mode: 'a')
34
29
  end
35
30
  end
36
31
  end
data/spec/spec_helper.rb CHANGED
@@ -22,7 +22,7 @@ end
22
22
  if defined?(JRUBY_VERSION)
23
23
  require 'pry-nav'
24
24
  else
25
- require 'pry-byebug'
25
+ require 'debug'
26
26
  end
27
27
  require 'yaml'
28
28
  require 'active_support/isolated_execution_state' unless RUBY_VERSION < '2.7.0'
@@ -59,8 +59,15 @@ end
59
59
  RSpec.configure do |config|
60
60
  config.include(HelperModule)
61
61
  config.add_formatter('documentation')
62
- config.add_formatter('RspecJunitFormatter', "tmp/elasticsearch-#{ENV['TEST_SUITE']}-#{RUBY_VERSION}-junit.xml")
63
- config.add_formatter('RSpec::Core::Formatters::HtmlFormatter', "tmp/elasticsearch-#{ENV['TEST_SUITE']}-#{RUBY_VERSION}.html")
62
+ if defined?(JRUBY_VERSION)
63
+ config.add_formatter('RSpec::Core::Formatters::HtmlFormatter', "tmp/elasticsearch-#{ENV['TEST_SUITE']}-jruby-#{JRUBY_VERSION}.html")
64
+ else
65
+ config.add_formatter('RSpec::Core::Formatters::HtmlFormatter', "tmp/elasticsearch-#{ENV['TEST_SUITE']}-#{RUBY_VERSION}.html")
66
+ end
67
+ if ENV['BUILDKITE']
68
+ require_relative "./rspec_formatter.rb"
69
+ config.add_formatter('RSpecCustomFormatter')
70
+ end
64
71
  config.color_mode = :on
65
72
  end
66
73
 
data/utils/Gemfile CHANGED
@@ -17,8 +17,8 @@
17
17
 
18
18
  source 'https://rubygems.org'
19
19
 
20
- gem 'byebug' unless defined?(JRUBY_VERSION)
21
20
  gem 'coderay'
21
+ gem 'debug' unless defined?(JRUBY_VERSION)
22
22
  gem 'json'
23
23
  gem 'multi_json'
24
24
  gem 'pry'
@@ -32,7 +32,7 @@ module Elasticsearch
32
32
 
33
33
  full_namespace = parse_full_namespace
34
34
  @namespace_depth = full_namespace.size > 0 ? full_namespace.size - 1 : 0
35
- @module_namespace = full_namespace[0, namespace_depth]
35
+ @module_namespace = full_namespace[0, @namespace_depth]
36
36
  @method_name = full_namespace.last
37
37
 
38
38
  @path_parts = parse_endpoint_parts(@spec)
@@ -56,7 +56,6 @@ module Elasticsearch
56
56
  :http_path,
57
57
  :required_parts,
58
58
  :http_method,
59
- :namespace_depth,
60
59
  :path_params,
61
60
  :perform_request_opts
62
61
 
@@ -136,11 +136,11 @@ module Elasticsearch
136
136
 
137
137
  def bulk_body_helper
138
138
  <<~SRC
139
- if body.is_a? Array
140
- payload = Elasticsearch::API::Utils.__bulkify(body)
141
- else
142
- payload = body
143
- end
139
+ payload = if body.is_a? Array
140
+ Elasticsearch::API::Utils.__bulkify(body)
141
+ else
142
+ body
143
+ end
144
144
  SRC
145
145
  end
146
146
 
@@ -22,8 +22,10 @@ require 'pathname'
22
22
  require 'multi_json'
23
23
  require 'coderay'
24
24
  require 'pry'
25
+ require_relative 'generator/build_hash_helper'
26
+ require_relative 'generator/docs_helper'
25
27
  require_relative 'generator/files_helper'
26
- require_relative '../endpoint_spec'
28
+ require_relative './endpoint_spec'
27
29
 
28
30
  module Elasticsearch
29
31
  module API
@@ -41,20 +43,17 @@ module Elasticsearch
41
43
  namespace 'code'
42
44
  include Thor::Actions
43
45
  include EndpointSpecifics
46
+ include DocsHelper
44
47
 
45
48
  desc 'generate', 'Generate source code and tests from the REST API JSON specification'
46
49
  method_option :verbose, type: :boolean, default: false, desc: 'Output more information'
47
50
  method_option :tests, type: :boolean, default: false, desc: 'Generate test files'
48
51
 
49
52
  def generate
50
- @build_hash = if ENV['BUILD_HASH']
51
- File.read(File.expand_path('../../../tmp/rest-api-spec/build_hash',__dir__))
52
- else
53
- original_build_hash
54
- end
55
-
53
+ @build_hash = BuildHashHelper.build_hash
56
54
  self.class.source_root File.expand_path(__dir__)
57
55
  generate_source
56
+
58
57
  # -- Tree output
59
58
  print_tree if options[:verbose]
60
59
  end
@@ -68,101 +67,22 @@ module Elasticsearch
68
67
  FilesHelper.files.each do |filepath|
69
68
  @spec = EndpointSpec.new(filepath)
70
69
  say_status 'json', @spec.path, :yellow
71
-
72
70
  # Don't generate code for internal APIs:
73
71
  next if @spec.module_namespace.flatten.first == '_internal'
74
72
 
75
73
  path_to_file = output.join(@spec.module_namespace.join('/')).join("#{@spec.method_name}.rb")
76
74
  dir = output.join(@spec.module_namespace.join('/'))
77
-
78
75
  empty_directory(dir, verbose: false)
79
76
 
80
77
  # Write the file with the ERB template:
81
78
  template('templates/method.erb', path_to_file, force: true)
82
79
 
80
+ # Optionals:
83
81
  print_source_code(path_to_file) if options[:verbose]
84
-
85
82
  generate_tests if options[:tests]
86
-
87
- puts
88
83
  end
89
-
90
84
  run_rubocop
91
- add_hash
92
- end
93
-
94
- def add_hash
95
- Dir.glob("#{FilesHelper.output_dir}/**/*.rb").each do |file|
96
- content = File.read(file)
97
- new_content = content.gsub(/(^#\sunder\sthe\sLicense.\n#)/) do |_|
98
- match = Regexp.last_match
99
- "#{match[1]}\n#{build_hash_comment}"
100
- end
101
- File.open(file, 'w') { |f| f.puts new_content }
102
- end
103
- end
104
-
105
- def build_hash_comment
106
- [
107
- "Auto generated from build hash #{@build_hash}",
108
- '@see https://github.com/elastic/elasticsearch/tree/main/rest-api-spec',
109
- ''
110
- ].map { |b| "# #{b}" }.join("\n").strip
111
- end
112
-
113
- def original_build_hash
114
- content = File.read("#{FilesHelper.output_dir}/info.rb")
115
- return unless (match = content.match(/Auto generated from build hash ([a-f0-9]+)/))
116
-
117
- match[1]
118
- end
119
-
120
- # Create the hierarchy of directories based on API namespaces
121
- #
122
- def create_directories(key, value)
123
- return if value['documentation']
124
-
125
- empty_directory @output.join(key)
126
- create_directory_hierarchy * value.to_a.first
127
- end
128
-
129
- def docs_helper(name, info)
130
- info['type'] = 'String' if info['type'] == 'enum' # Rename 'enums' to 'strings'
131
- info['type'] = 'Integer' if info['type'] == 'int' # Rename 'int' to 'Integer'
132
- tipo = info['type'] ? info['type'].capitalize : 'String'
133
- description = info['description'] ? info['description'].strip : '[TODO]'
134
- options = info['options'] ? "(options: #{info['options'].join(', ').strip})" : nil
135
- required = info['required'] ? '(*Required*)' : ''
136
- deprecated = info['deprecated'] ? '*Deprecated*' : ''
137
- optionals = [required, deprecated, options].join(' ').strip
138
-
139
- "# @option arguments [#{tipo}] :#{name} #{description} #{optionals}\n"
140
- end
141
-
142
- def stability_doc_helper(stability)
143
- return if stability == 'stable'
144
-
145
- if stability == 'experimental'
146
- <<~MSG
147
- # This functionality is Experimental and may be changed or removed
148
- # completely in a future release. Elastic will take a best effort approach
149
- # to fix any issues, but experimental features are not subject to the
150
- # support SLA of official GA features.
151
- MSG
152
- elsif stability == 'beta'
153
- <<~MSG
154
- # This functionality is in Beta and is subject to change. The design and
155
- # code is less mature than official GA features and is being provided
156
- # as-is with no warranties. Beta features are not subject to the support
157
- # SLA of official GA features.
158
- MSG
159
- else
160
- <<~MSG
161
- # This functionality is subject to potential breaking changes within a
162
- # minor version, meaning that your referencing code may break when this
163
- # library is upgraded.
164
- MSG
165
- end
85
+ BuildHashHelper.add_hash(@build_hash)
166
86
  end
167
87
 
168
88
  def generate_tests
@@ -200,7 +120,7 @@ module Elasticsearch
200
120
  end
201
121
 
202
122
  def run_rubocop
203
- system("rubocop -c ./thor/.rubocop.yml --format autogenconf -x #{FilesHelper::output_dir}")
123
+ system("rubocop -c ./thor/.rubocop.yml --format autogenconf -a #{FilesHelper::output_dir}")
204
124
  end
205
125
  end
206
126
  end