elasticsearch-api 8.8.0 → 8.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (625) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +26 -25
  3. data/api-spec-testing/test_file/test.rb +1 -1
  4. data/api-spec-testing/wipe_cluster.rb +15 -13
  5. data/elasticsearch-api.gemspec +2 -2
  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 +1 -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 +1 -1
  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 -1
  26. data/lib/elasticsearch/api/actions/cat/ml_jobs.rb +1 -1
  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/info.rb +53 -0
  51. data/lib/elasticsearch/api/actions/cluster/pending_tasks.rb +1 -1
  52. data/lib/elasticsearch/api/actions/cluster/post_voting_config_exclusions.rb +1 -1
  53. data/lib/elasticsearch/api/actions/cluster/put_component_template.rb +1 -1
  54. data/lib/elasticsearch/api/actions/cluster/put_settings.rb +1 -1
  55. data/lib/elasticsearch/api/actions/cluster/remote_info.rb +1 -1
  56. data/lib/elasticsearch/api/actions/cluster/reroute.rb +1 -1
  57. data/lib/elasticsearch/api/actions/cluster/state.rb +1 -1
  58. data/lib/elasticsearch/api/actions/cluster/stats.rb +1 -1
  59. data/lib/elasticsearch/api/actions/count.rb +1 -1
  60. data/lib/elasticsearch/api/actions/create.rb +1 -1
  61. data/lib/elasticsearch/api/actions/cross_cluster_replication/delete_auto_follow_pattern.rb +1 -1
  62. data/lib/elasticsearch/api/actions/cross_cluster_replication/follow.rb +1 -1
  63. data/lib/elasticsearch/api/actions/cross_cluster_replication/follow_info.rb +1 -1
  64. data/lib/elasticsearch/api/actions/cross_cluster_replication/follow_stats.rb +1 -1
  65. data/lib/elasticsearch/api/actions/cross_cluster_replication/forget_follower.rb +1 -1
  66. data/lib/elasticsearch/api/actions/cross_cluster_replication/get_auto_follow_pattern.rb +1 -1
  67. data/lib/elasticsearch/api/actions/cross_cluster_replication/pause_auto_follow_pattern.rb +1 -1
  68. data/lib/elasticsearch/api/actions/cross_cluster_replication/pause_follow.rb +1 -1
  69. data/lib/elasticsearch/api/actions/cross_cluster_replication/put_auto_follow_pattern.rb +1 -1
  70. data/lib/elasticsearch/api/actions/cross_cluster_replication/resume_auto_follow_pattern.rb +1 -1
  71. data/lib/elasticsearch/api/actions/cross_cluster_replication/resume_follow.rb +1 -1
  72. data/lib/elasticsearch/api/actions/cross_cluster_replication/stats.rb +1 -1
  73. data/lib/elasticsearch/api/actions/cross_cluster_replication/unfollow.rb +1 -1
  74. data/lib/elasticsearch/api/actions/dangling_indices/delete_dangling_index.rb +1 -1
  75. data/lib/elasticsearch/api/actions/dangling_indices/import_dangling_index.rb +1 -1
  76. data/lib/elasticsearch/api/actions/dangling_indices/list_dangling_indices.rb +1 -1
  77. data/lib/elasticsearch/api/actions/delete.rb +1 -1
  78. data/lib/elasticsearch/api/actions/delete_by_query.rb +1 -1
  79. data/lib/elasticsearch/api/actions/delete_by_query_rethrottle.rb +1 -1
  80. data/lib/elasticsearch/api/actions/delete_script.rb +1 -1
  81. data/lib/elasticsearch/api/actions/enrich/delete_policy.rb +1 -1
  82. data/lib/elasticsearch/api/actions/enrich/execute_policy.rb +1 -1
  83. data/lib/elasticsearch/api/actions/enrich/get_policy.rb +1 -1
  84. data/lib/elasticsearch/api/actions/enrich/put_policy.rb +1 -1
  85. data/lib/elasticsearch/api/actions/enrich/stats.rb +1 -1
  86. data/lib/elasticsearch/api/actions/eql/delete.rb +1 -1
  87. data/lib/elasticsearch/api/actions/eql/get.rb +1 -1
  88. data/lib/elasticsearch/api/actions/eql/get_status.rb +1 -1
  89. data/lib/elasticsearch/api/actions/eql/search.rb +1 -1
  90. data/lib/elasticsearch/api/actions/exists.rb +1 -1
  91. data/lib/elasticsearch/api/actions/exists_source.rb +1 -1
  92. data/lib/elasticsearch/api/actions/explain.rb +1 -1
  93. data/lib/elasticsearch/api/actions/features/get_features.rb +1 -1
  94. data/lib/elasticsearch/api/actions/features/reset_features.rb +1 -1
  95. data/lib/elasticsearch/api/actions/field_caps.rb +1 -1
  96. data/lib/elasticsearch/api/actions/fleet/delete_secret.rb +57 -0
  97. data/lib/elasticsearch/api/actions/fleet/get_secret.rb +57 -0
  98. data/lib/elasticsearch/api/actions/fleet/global_checkpoints.rb +1 -1
  99. data/lib/elasticsearch/api/actions/fleet/post_secret.rb +55 -0
  100. data/lib/elasticsearch/api/actions/get.rb +1 -1
  101. data/lib/elasticsearch/api/actions/get_script.rb +1 -1
  102. data/lib/elasticsearch/api/actions/get_script_context.rb +1 -1
  103. data/lib/elasticsearch/api/actions/get_script_languages.rb +1 -1
  104. data/lib/elasticsearch/api/actions/get_source.rb +1 -1
  105. data/lib/elasticsearch/api/actions/graph/explore.rb +1 -1
  106. data/lib/elasticsearch/api/actions/health_report.rb +1 -1
  107. data/lib/elasticsearch/api/actions/index.rb +1 -1
  108. data/lib/elasticsearch/api/actions/index_lifecycle_management/delete_lifecycle.rb +1 -1
  109. data/lib/elasticsearch/api/actions/index_lifecycle_management/explain_lifecycle.rb +1 -1
  110. data/lib/elasticsearch/api/actions/index_lifecycle_management/get_lifecycle.rb +1 -1
  111. data/lib/elasticsearch/api/actions/index_lifecycle_management/get_status.rb +1 -1
  112. data/lib/elasticsearch/api/actions/index_lifecycle_management/migrate_to_data_tiers.rb +1 -1
  113. data/lib/elasticsearch/api/actions/index_lifecycle_management/move_to_step.rb +1 -1
  114. data/lib/elasticsearch/api/actions/index_lifecycle_management/put_lifecycle.rb +1 -1
  115. data/lib/elasticsearch/api/actions/index_lifecycle_management/remove_policy.rb +1 -1
  116. data/lib/elasticsearch/api/actions/index_lifecycle_management/retry.rb +1 -1
  117. data/lib/elasticsearch/api/actions/index_lifecycle_management/start.rb +1 -1
  118. data/lib/elasticsearch/api/actions/index_lifecycle_management/stop.rb +1 -1
  119. data/lib/elasticsearch/api/actions/indices/add_block.rb +1 -1
  120. data/lib/elasticsearch/api/actions/indices/analyze.rb +1 -1
  121. data/lib/elasticsearch/api/actions/indices/clear_cache.rb +1 -1
  122. data/lib/elasticsearch/api/actions/indices/clone.rb +1 -1
  123. data/lib/elasticsearch/api/actions/indices/close.rb +1 -1
  124. data/lib/elasticsearch/api/actions/indices/create.rb +1 -1
  125. data/lib/elasticsearch/api/actions/indices/create_data_stream.rb +1 -1
  126. data/lib/elasticsearch/api/actions/indices/data_streams_stats.rb +1 -1
  127. data/lib/elasticsearch/api/actions/indices/delete.rb +1 -1
  128. data/lib/elasticsearch/api/actions/indices/delete_alias.rb +1 -1
  129. data/lib/elasticsearch/api/actions/indices/delete_data_lifecycle.rb +3 -3
  130. data/lib/elasticsearch/api/actions/indices/delete_data_stream.rb +1 -1
  131. data/lib/elasticsearch/api/actions/indices/delete_index_template.rb +1 -1
  132. data/lib/elasticsearch/api/actions/indices/delete_template.rb +1 -1
  133. data/lib/elasticsearch/api/actions/indices/disk_usage.rb +1 -1
  134. data/lib/elasticsearch/api/actions/indices/downsample.rb +1 -1
  135. data/lib/elasticsearch/api/actions/indices/exists.rb +1 -1
  136. data/lib/elasticsearch/api/actions/indices/exists_alias.rb +1 -1
  137. data/lib/elasticsearch/api/actions/indices/exists_index_template.rb +1 -1
  138. data/lib/elasticsearch/api/actions/indices/exists_template.rb +1 -1
  139. data/lib/elasticsearch/api/actions/indices/explain_data_lifecycle.rb +2 -2
  140. data/lib/elasticsearch/api/actions/indices/field_usage_stats.rb +1 -1
  141. data/lib/elasticsearch/api/actions/indices/flush.rb +1 -1
  142. data/lib/elasticsearch/api/actions/indices/forcemerge.rb +1 -1
  143. data/lib/elasticsearch/api/actions/indices/get.rb +1 -1
  144. data/lib/elasticsearch/api/actions/indices/get_alias.rb +1 -1
  145. data/lib/elasticsearch/api/actions/indices/get_data_lifecycle.rb +2 -2
  146. data/lib/elasticsearch/api/actions/indices/get_data_stream.rb +1 -1
  147. data/lib/elasticsearch/api/actions/indices/get_field_mapping.rb +1 -1
  148. data/lib/elasticsearch/api/actions/indices/get_index_template.rb +1 -1
  149. data/lib/elasticsearch/api/actions/indices/get_mapping.rb +1 -1
  150. data/lib/elasticsearch/api/actions/indices/get_settings.rb +1 -1
  151. data/lib/elasticsearch/api/actions/indices/get_template.rb +1 -1
  152. data/lib/elasticsearch/api/actions/indices/migrate_to_data_stream.rb +1 -1
  153. data/lib/elasticsearch/api/actions/indices/modify_data_stream.rb +1 -1
  154. data/lib/elasticsearch/api/actions/indices/open.rb +1 -1
  155. data/lib/elasticsearch/api/actions/indices/promote_data_stream.rb +1 -1
  156. data/lib/elasticsearch/api/actions/indices/put_alias.rb +1 -1
  157. data/lib/elasticsearch/api/actions/indices/put_data_lifecycle.rb +3 -3
  158. data/lib/elasticsearch/api/actions/indices/put_index_template.rb +1 -1
  159. data/lib/elasticsearch/api/actions/indices/put_mapping.rb +1 -1
  160. data/lib/elasticsearch/api/actions/indices/put_settings.rb +1 -1
  161. data/lib/elasticsearch/api/actions/indices/put_template.rb +1 -1
  162. data/lib/elasticsearch/api/actions/indices/recovery.rb +1 -1
  163. data/lib/elasticsearch/api/actions/indices/refresh.rb +1 -1
  164. data/lib/elasticsearch/api/actions/indices/reload_search_analyzers.rb +2 -1
  165. data/lib/elasticsearch/api/actions/indices/resolve_index.rb +1 -1
  166. data/lib/elasticsearch/api/actions/indices/rollover.rb +1 -1
  167. data/lib/elasticsearch/api/actions/indices/segments.rb +1 -1
  168. data/lib/elasticsearch/api/actions/indices/shard_stores.rb +1 -1
  169. data/lib/elasticsearch/api/actions/indices/shrink.rb +1 -1
  170. data/lib/elasticsearch/api/actions/indices/simulate_index_template.rb +1 -1
  171. data/lib/elasticsearch/api/actions/indices/simulate_template.rb +1 -1
  172. data/lib/elasticsearch/api/actions/indices/split.rb +1 -1
  173. data/lib/elasticsearch/api/actions/indices/stats.rb +1 -1
  174. data/lib/elasticsearch/api/actions/indices/unfreeze.rb +1 -1
  175. data/lib/elasticsearch/api/actions/indices/update_aliases.rb +1 -1
  176. data/lib/elasticsearch/api/actions/indices/validate_query.rb +1 -1
  177. data/lib/elasticsearch/api/actions/info.rb +1 -1
  178. data/lib/elasticsearch/api/actions/ingest/delete_pipeline.rb +1 -1
  179. data/lib/elasticsearch/api/actions/ingest/geo_ip_stats.rb +1 -1
  180. data/lib/elasticsearch/api/actions/ingest/get_pipeline.rb +1 -1
  181. data/lib/elasticsearch/api/actions/ingest/processor_grok.rb +1 -1
  182. data/lib/elasticsearch/api/actions/ingest/put_pipeline.rb +1 -1
  183. data/lib/elasticsearch/api/actions/ingest/simulate.rb +1 -1
  184. data/lib/elasticsearch/api/actions/knn_search.rb +1 -1
  185. data/lib/elasticsearch/api/actions/license/delete.rb +1 -1
  186. data/lib/elasticsearch/api/actions/license/get.rb +1 -1
  187. data/lib/elasticsearch/api/actions/license/get_basic_status.rb +1 -1
  188. data/lib/elasticsearch/api/actions/license/get_trial_status.rb +1 -1
  189. data/lib/elasticsearch/api/actions/license/post.rb +1 -1
  190. data/lib/elasticsearch/api/actions/license/post_start_basic.rb +1 -1
  191. data/lib/elasticsearch/api/actions/license/post_start_trial.rb +1 -1
  192. data/lib/elasticsearch/api/actions/logstash/delete_pipeline.rb +1 -1
  193. data/lib/elasticsearch/api/actions/logstash/get_pipeline.rb +1 -1
  194. data/lib/elasticsearch/api/actions/logstash/put_pipeline.rb +1 -1
  195. data/lib/elasticsearch/api/actions/machine_learning/clear_trained_model_deployment_cache.rb +1 -1
  196. data/lib/elasticsearch/api/actions/machine_learning/close_job.rb +1 -1
  197. data/lib/elasticsearch/api/actions/machine_learning/delete_calendar.rb +1 -1
  198. data/lib/elasticsearch/api/actions/machine_learning/delete_calendar_event.rb +1 -1
  199. data/lib/elasticsearch/api/actions/machine_learning/delete_calendar_job.rb +1 -1
  200. data/lib/elasticsearch/api/actions/machine_learning/delete_data_frame_analytics.rb +1 -1
  201. data/lib/elasticsearch/api/actions/machine_learning/delete_datafeed.rb +1 -1
  202. data/lib/elasticsearch/api/actions/machine_learning/delete_expired_data.rb +1 -1
  203. data/lib/elasticsearch/api/actions/machine_learning/delete_filter.rb +1 -1
  204. data/lib/elasticsearch/api/actions/machine_learning/delete_forecast.rb +1 -1
  205. data/lib/elasticsearch/api/actions/machine_learning/delete_job.rb +1 -1
  206. data/lib/elasticsearch/api/actions/machine_learning/delete_model_snapshot.rb +1 -1
  207. data/lib/elasticsearch/api/actions/machine_learning/delete_trained_model.rb +1 -1
  208. data/lib/elasticsearch/api/actions/machine_learning/delete_trained_model_alias.rb +1 -1
  209. data/lib/elasticsearch/api/actions/machine_learning/estimate_model_memory.rb +1 -1
  210. data/lib/elasticsearch/api/actions/machine_learning/evaluate_data_frame.rb +1 -1
  211. data/lib/elasticsearch/api/actions/machine_learning/explain_data_frame_analytics.rb +1 -1
  212. data/lib/elasticsearch/api/actions/machine_learning/flush_job.rb +1 -1
  213. data/lib/elasticsearch/api/actions/machine_learning/forecast.rb +1 -1
  214. data/lib/elasticsearch/api/actions/machine_learning/get_buckets.rb +1 -1
  215. data/lib/elasticsearch/api/actions/machine_learning/get_calendar_events.rb +1 -1
  216. data/lib/elasticsearch/api/actions/machine_learning/get_calendars.rb +1 -1
  217. data/lib/elasticsearch/api/actions/machine_learning/get_categories.rb +1 -1
  218. data/lib/elasticsearch/api/actions/machine_learning/get_data_frame_analytics.rb +1 -1
  219. data/lib/elasticsearch/api/actions/machine_learning/get_data_frame_analytics_stats.rb +1 -1
  220. data/lib/elasticsearch/api/actions/machine_learning/get_datafeed_stats.rb +1 -1
  221. data/lib/elasticsearch/api/actions/machine_learning/get_datafeeds.rb +1 -1
  222. data/lib/elasticsearch/api/actions/machine_learning/get_filters.rb +1 -1
  223. data/lib/elasticsearch/api/actions/machine_learning/get_influencers.rb +1 -1
  224. data/lib/elasticsearch/api/actions/machine_learning/get_job_stats.rb +1 -1
  225. data/lib/elasticsearch/api/actions/machine_learning/get_jobs.rb +1 -1
  226. data/lib/elasticsearch/api/actions/machine_learning/get_memory_stats.rb +1 -1
  227. data/lib/elasticsearch/api/actions/machine_learning/get_model_snapshot_upgrade_stats.rb +1 -1
  228. data/lib/elasticsearch/api/actions/machine_learning/get_model_snapshots.rb +1 -1
  229. data/lib/elasticsearch/api/actions/machine_learning/get_overall_buckets.rb +1 -1
  230. data/lib/elasticsearch/api/actions/machine_learning/get_records.rb +1 -1
  231. data/lib/elasticsearch/api/actions/machine_learning/get_trained_models.rb +1 -1
  232. data/lib/elasticsearch/api/actions/machine_learning/get_trained_models_stats.rb +1 -1
  233. data/lib/elasticsearch/api/actions/machine_learning/infer_trained_model.rb +1 -1
  234. data/lib/elasticsearch/api/actions/machine_learning/info.rb +1 -1
  235. data/lib/elasticsearch/api/actions/machine_learning/open_job.rb +1 -1
  236. data/lib/elasticsearch/api/actions/machine_learning/post_calendar_events.rb +1 -1
  237. data/lib/elasticsearch/api/actions/machine_learning/post_data.rb +1 -1
  238. data/lib/elasticsearch/api/actions/machine_learning/preview_data_frame_analytics.rb +1 -1
  239. data/lib/elasticsearch/api/actions/machine_learning/preview_datafeed.rb +1 -1
  240. data/lib/elasticsearch/api/actions/machine_learning/put_calendar.rb +1 -1
  241. data/lib/elasticsearch/api/actions/machine_learning/put_calendar_job.rb +1 -1
  242. data/lib/elasticsearch/api/actions/machine_learning/put_data_frame_analytics.rb +1 -1
  243. data/lib/elasticsearch/api/actions/machine_learning/put_datafeed.rb +1 -1
  244. data/lib/elasticsearch/api/actions/machine_learning/put_filter.rb +1 -1
  245. data/lib/elasticsearch/api/actions/machine_learning/put_job.rb +1 -1
  246. data/lib/elasticsearch/api/actions/machine_learning/put_trained_model.rb +1 -1
  247. data/lib/elasticsearch/api/actions/machine_learning/put_trained_model_alias.rb +1 -1
  248. data/lib/elasticsearch/api/actions/machine_learning/put_trained_model_definition_part.rb +1 -1
  249. data/lib/elasticsearch/api/actions/machine_learning/put_trained_model_vocabulary.rb +1 -1
  250. data/lib/elasticsearch/api/actions/machine_learning/reset_job.rb +1 -1
  251. data/lib/elasticsearch/api/actions/machine_learning/revert_model_snapshot.rb +1 -1
  252. data/lib/elasticsearch/api/actions/machine_learning/set_upgrade_mode.rb +1 -1
  253. data/lib/elasticsearch/api/actions/machine_learning/start_data_frame_analytics.rb +1 -1
  254. data/lib/elasticsearch/api/actions/machine_learning/start_datafeed.rb +1 -1
  255. data/lib/elasticsearch/api/actions/machine_learning/start_trained_model_deployment.rb +1 -1
  256. data/lib/elasticsearch/api/actions/machine_learning/stop_data_frame_analytics.rb +1 -1
  257. data/lib/elasticsearch/api/actions/machine_learning/stop_datafeed.rb +1 -1
  258. data/lib/elasticsearch/api/actions/machine_learning/stop_trained_model_deployment.rb +1 -1
  259. data/lib/elasticsearch/api/actions/machine_learning/update_data_frame_analytics.rb +1 -1
  260. data/lib/elasticsearch/api/actions/machine_learning/update_datafeed.rb +1 -1
  261. data/lib/elasticsearch/api/actions/machine_learning/update_filter.rb +1 -1
  262. data/lib/elasticsearch/api/actions/machine_learning/update_job.rb +1 -1
  263. data/lib/elasticsearch/api/actions/machine_learning/update_model_snapshot.rb +1 -1
  264. data/lib/elasticsearch/api/actions/machine_learning/update_trained_model_deployment.rb +1 -1
  265. data/lib/elasticsearch/api/actions/machine_learning/upgrade_job_snapshot.rb +1 -1
  266. data/lib/elasticsearch/api/actions/machine_learning/validate.rb +1 -1
  267. data/lib/elasticsearch/api/actions/machine_learning/validate_detector.rb +1 -1
  268. data/lib/elasticsearch/api/actions/mget.rb +1 -1
  269. data/lib/elasticsearch/api/actions/migration/deprecations.rb +1 -1
  270. data/lib/elasticsearch/api/actions/migration/get_feature_upgrade_status.rb +1 -1
  271. data/lib/elasticsearch/api/actions/migration/post_feature_upgrade.rb +1 -1
  272. data/lib/elasticsearch/api/actions/monitoring/bulk.rb +1 -1
  273. data/lib/elasticsearch/api/actions/msearch.rb +1 -1
  274. data/lib/elasticsearch/api/actions/msearch_template.rb +1 -1
  275. data/lib/elasticsearch/api/actions/mtermvectors.rb +1 -1
  276. data/lib/elasticsearch/api/actions/nodes/clear_repositories_metering_archive.rb +1 -1
  277. data/lib/elasticsearch/api/actions/nodes/get_repositories_metering_info.rb +1 -1
  278. data/lib/elasticsearch/api/actions/nodes/hot_threads.rb +1 -1
  279. data/lib/elasticsearch/api/actions/nodes/info.rb +1 -1
  280. data/lib/elasticsearch/api/actions/nodes/reload_secure_settings.rb +1 -1
  281. data/lib/elasticsearch/api/actions/nodes/stats.rb +1 -1
  282. data/lib/elasticsearch/api/actions/nodes/usage.rb +1 -1
  283. data/lib/elasticsearch/api/actions/open_point_in_time.rb +1 -1
  284. data/lib/elasticsearch/api/actions/ping.rb +1 -1
  285. data/lib/elasticsearch/api/actions/put_script.rb +1 -1
  286. data/lib/elasticsearch/api/actions/query_ruleset/delete.rb +57 -0
  287. data/lib/elasticsearch/api/actions/query_ruleset/get.rb +57 -0
  288. data/lib/elasticsearch/api/actions/query_ruleset/list.rb +54 -0
  289. data/lib/elasticsearch/api/actions/query_ruleset/put.rb +59 -0
  290. data/lib/elasticsearch/api/actions/rank_eval.rb +1 -1
  291. data/lib/elasticsearch/api/actions/reindex.rb +1 -1
  292. data/lib/elasticsearch/api/actions/reindex_rethrottle.rb +1 -1
  293. data/lib/elasticsearch/api/actions/render_search_template.rb +1 -1
  294. data/lib/elasticsearch/api/actions/rollup/delete_job.rb +1 -1
  295. data/lib/elasticsearch/api/actions/rollup/get_jobs.rb +1 -1
  296. data/lib/elasticsearch/api/actions/rollup/get_rollup_caps.rb +1 -1
  297. data/lib/elasticsearch/api/actions/rollup/get_rollup_index_caps.rb +1 -1
  298. data/lib/elasticsearch/api/actions/rollup/put_job.rb +1 -1
  299. data/lib/elasticsearch/api/actions/rollup/rollup_search.rb +1 -1
  300. data/lib/elasticsearch/api/actions/rollup/start_job.rb +1 -1
  301. data/lib/elasticsearch/api/actions/rollup/stop_job.rb +1 -1
  302. data/lib/elasticsearch/api/actions/scripts_painless_execute.rb +1 -1
  303. data/lib/elasticsearch/api/actions/scroll.rb +1 -1
  304. data/lib/elasticsearch/api/actions/search.rb +1 -1
  305. data/lib/elasticsearch/api/actions/search_application/delete.rb +1 -1
  306. data/lib/elasticsearch/api/actions/search_application/delete_behavioral_analytics.rb +1 -1
  307. data/lib/elasticsearch/api/actions/search_application/get.rb +1 -1
  308. data/lib/elasticsearch/api/actions/search_application/get_behavioral_analytics.rb +1 -1
  309. data/lib/elasticsearch/api/actions/search_application/list.rb +1 -1
  310. data/lib/elasticsearch/api/actions/search_application/put.rb +1 -1
  311. data/lib/elasticsearch/api/actions/search_application/put_behavioral_analytics.rb +1 -1
  312. data/lib/elasticsearch/api/actions/search_application/render_query.rb +58 -0
  313. data/lib/elasticsearch/api/actions/search_application/search.rb +1 -1
  314. data/lib/elasticsearch/api/actions/search_mvt.rb +1 -1
  315. data/lib/elasticsearch/api/actions/search_shards.rb +1 -1
  316. data/lib/elasticsearch/api/actions/search_template.rb +1 -1
  317. data/lib/elasticsearch/api/actions/searchable_snapshots/cache_stats.rb +1 -1
  318. data/lib/elasticsearch/api/actions/searchable_snapshots/clear_cache.rb +1 -1
  319. data/lib/elasticsearch/api/actions/searchable_snapshots/mount.rb +1 -1
  320. data/lib/elasticsearch/api/actions/searchable_snapshots/stats.rb +1 -1
  321. data/lib/elasticsearch/api/actions/security/activate_user_profile.rb +1 -1
  322. data/lib/elasticsearch/api/actions/security/authenticate.rb +1 -1
  323. data/lib/elasticsearch/api/actions/security/bulk_update_api_keys.rb +1 -1
  324. data/lib/elasticsearch/api/actions/security/change_password.rb +1 -1
  325. data/lib/elasticsearch/api/actions/security/clear_api_key_cache.rb +1 -1
  326. data/lib/elasticsearch/api/actions/security/clear_cached_privileges.rb +1 -1
  327. data/lib/elasticsearch/api/actions/security/clear_cached_realms.rb +1 -1
  328. data/lib/elasticsearch/api/actions/security/clear_cached_roles.rb +1 -1
  329. data/lib/elasticsearch/api/actions/security/clear_cached_service_tokens.rb +1 -1
  330. data/lib/elasticsearch/api/actions/security/create_api_key.rb +1 -1
  331. data/lib/elasticsearch/api/actions/security/create_cross_cluster_api_key.rb +55 -0
  332. data/lib/elasticsearch/api/actions/security/create_service_token.rb +1 -1
  333. data/lib/elasticsearch/api/actions/security/delete_privileges.rb +1 -1
  334. data/lib/elasticsearch/api/actions/security/delete_role.rb +1 -1
  335. data/lib/elasticsearch/api/actions/security/delete_role_mapping.rb +1 -1
  336. data/lib/elasticsearch/api/actions/security/delete_service_token.rb +1 -1
  337. data/lib/elasticsearch/api/actions/security/delete_user.rb +1 -1
  338. data/lib/elasticsearch/api/actions/security/disable_user.rb +1 -1
  339. data/lib/elasticsearch/api/actions/security/disable_user_profile.rb +1 -1
  340. data/lib/elasticsearch/api/actions/security/enable_user.rb +1 -1
  341. data/lib/elasticsearch/api/actions/security/enable_user_profile.rb +1 -1
  342. data/lib/elasticsearch/api/actions/security/enroll_kibana.rb +1 -1
  343. data/lib/elasticsearch/api/actions/security/enroll_node.rb +1 -1
  344. data/lib/elasticsearch/api/actions/security/get_api_key.rb +1 -1
  345. data/lib/elasticsearch/api/actions/security/get_builtin_privileges.rb +1 -1
  346. data/lib/elasticsearch/api/actions/security/get_privileges.rb +1 -1
  347. data/lib/elasticsearch/api/actions/security/get_role.rb +1 -1
  348. data/lib/elasticsearch/api/actions/security/get_role_mapping.rb +1 -1
  349. data/lib/elasticsearch/api/actions/security/get_service_accounts.rb +1 -1
  350. data/lib/elasticsearch/api/actions/security/get_service_credentials.rb +1 -1
  351. data/lib/elasticsearch/api/actions/security/get_settings.rb +48 -0
  352. data/lib/elasticsearch/api/actions/security/get_token.rb +1 -1
  353. data/lib/elasticsearch/api/actions/security/get_user.rb +1 -1
  354. data/lib/elasticsearch/api/actions/security/get_user_privileges.rb +1 -1
  355. data/lib/elasticsearch/api/actions/security/get_user_profile.rb +1 -1
  356. data/lib/elasticsearch/api/actions/security/grant_api_key.rb +1 -1
  357. data/lib/elasticsearch/api/actions/security/has_privileges.rb +1 -1
  358. data/lib/elasticsearch/api/actions/security/has_privileges_user_profile.rb +1 -1
  359. data/lib/elasticsearch/api/actions/security/invalidate_api_key.rb +1 -1
  360. data/lib/elasticsearch/api/actions/security/invalidate_token.rb +1 -1
  361. data/lib/elasticsearch/api/actions/security/oidc_authenticate.rb +1 -1
  362. data/lib/elasticsearch/api/actions/security/oidc_logout.rb +1 -1
  363. data/lib/elasticsearch/api/actions/security/oidc_prepare_authentication.rb +1 -1
  364. data/lib/elasticsearch/api/actions/security/put_privileges.rb +1 -1
  365. data/lib/elasticsearch/api/actions/security/put_role.rb +1 -1
  366. data/lib/elasticsearch/api/actions/security/put_role_mapping.rb +1 -1
  367. data/lib/elasticsearch/api/actions/security/put_user.rb +1 -1
  368. data/lib/elasticsearch/api/actions/security/query_api_keys.rb +1 -1
  369. data/lib/elasticsearch/api/actions/security/saml_authenticate.rb +1 -1
  370. data/lib/elasticsearch/api/actions/security/saml_complete_logout.rb +1 -1
  371. data/lib/elasticsearch/api/actions/security/saml_invalidate.rb +1 -1
  372. data/lib/elasticsearch/api/actions/security/saml_logout.rb +1 -1
  373. data/lib/elasticsearch/api/actions/security/saml_prepare_authentication.rb +1 -1
  374. data/lib/elasticsearch/api/actions/security/saml_service_provider_metadata.rb +1 -1
  375. data/lib/elasticsearch/api/actions/security/suggest_user_profiles.rb +1 -1
  376. data/lib/elasticsearch/api/actions/security/update_api_key.rb +1 -1
  377. data/lib/elasticsearch/api/actions/security/update_cross_cluster_api_key.rb +59 -0
  378. data/lib/elasticsearch/api/actions/security/update_settings.rb +51 -0
  379. data/lib/elasticsearch/api/actions/security/update_user_profile_data.rb +1 -1
  380. data/lib/elasticsearch/api/actions/snapshot/cleanup_repository.rb +1 -1
  381. data/lib/elasticsearch/api/actions/snapshot/clone.rb +1 -1
  382. data/lib/elasticsearch/api/actions/snapshot/create.rb +1 -1
  383. data/lib/elasticsearch/api/actions/snapshot/create_repository.rb +1 -1
  384. data/lib/elasticsearch/api/actions/snapshot/delete.rb +1 -1
  385. data/lib/elasticsearch/api/actions/snapshot/delete_repository.rb +1 -1
  386. data/lib/elasticsearch/api/actions/snapshot/get.rb +1 -1
  387. data/lib/elasticsearch/api/actions/snapshot/get_repository.rb +1 -1
  388. data/lib/elasticsearch/api/actions/snapshot/repository_analyze.rb +1 -1
  389. data/lib/elasticsearch/api/actions/snapshot/restore.rb +1 -1
  390. data/lib/elasticsearch/api/actions/snapshot/status.rb +1 -1
  391. data/lib/elasticsearch/api/actions/snapshot/verify_repository.rb +1 -1
  392. data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/delete_lifecycle.rb +1 -1
  393. data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/execute_lifecycle.rb +1 -1
  394. data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/execute_retention.rb +1 -1
  395. data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/get_lifecycle.rb +1 -1
  396. data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/get_stats.rb +1 -1
  397. data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/get_status.rb +1 -1
  398. data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/put_lifecycle.rb +1 -1
  399. data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/start.rb +1 -1
  400. data/lib/elasticsearch/api/actions/snapshot_lifecycle_management/stop.rb +1 -1
  401. data/lib/elasticsearch/api/actions/sql/clear_cursor.rb +1 -1
  402. data/lib/elasticsearch/api/actions/sql/delete_async.rb +1 -1
  403. data/lib/elasticsearch/api/actions/sql/get_async.rb +1 -1
  404. data/lib/elasticsearch/api/actions/sql/get_async_status.rb +1 -1
  405. data/lib/elasticsearch/api/actions/sql/query.rb +1 -1
  406. data/lib/elasticsearch/api/actions/sql/translate.rb +1 -1
  407. data/lib/elasticsearch/api/actions/ssl/certificates.rb +1 -1
  408. data/lib/elasticsearch/api/actions/synonyms/delete_synonym.rb +57 -0
  409. data/lib/elasticsearch/api/actions/synonyms/delete_synonym_rule.rb +61 -0
  410. data/lib/elasticsearch/api/actions/synonyms/get_synonym.rb +59 -0
  411. data/lib/elasticsearch/api/actions/synonyms/get_synonym_rule.rb +61 -0
  412. data/lib/elasticsearch/api/actions/synonyms/get_synonyms_sets.rb +54 -0
  413. data/lib/elasticsearch/api/actions/synonyms/put_synonym.rb +59 -0
  414. data/lib/elasticsearch/api/actions/synonyms/put_synonym_rule.rb +63 -0
  415. data/lib/elasticsearch/api/actions/tasks/cancel.rb +1 -1
  416. data/lib/elasticsearch/api/actions/tasks/get.rb +1 -1
  417. data/lib/elasticsearch/api/actions/tasks/list.rb +1 -1
  418. data/lib/elasticsearch/api/actions/terms_enum.rb +1 -1
  419. data/lib/elasticsearch/api/actions/termvectors.rb +1 -1
  420. data/lib/elasticsearch/api/actions/text_structure/find_structure.rb +1 -1
  421. data/lib/elasticsearch/api/actions/transform/delete_transform.rb +1 -1
  422. data/lib/elasticsearch/api/actions/transform/get_transform.rb +1 -1
  423. data/lib/elasticsearch/api/actions/transform/get_transform_stats.rb +1 -1
  424. data/lib/elasticsearch/api/actions/transform/preview_transform.rb +1 -1
  425. data/lib/elasticsearch/api/actions/transform/put_transform.rb +1 -1
  426. data/lib/elasticsearch/api/actions/transform/reset_transform.rb +1 -1
  427. data/lib/elasticsearch/api/actions/transform/schedule_now_transform.rb +1 -1
  428. data/lib/elasticsearch/api/actions/transform/start_transform.rb +1 -1
  429. data/lib/elasticsearch/api/actions/transform/stop_transform.rb +1 -1
  430. data/lib/elasticsearch/api/actions/transform/update_transform.rb +1 -1
  431. data/lib/elasticsearch/api/actions/transform/upgrade_transforms.rb +1 -1
  432. data/lib/elasticsearch/api/actions/update.rb +1 -1
  433. data/lib/elasticsearch/api/actions/update_by_query.rb +1 -1
  434. data/lib/elasticsearch/api/actions/update_by_query_rethrottle.rb +1 -1
  435. data/lib/elasticsearch/api/actions/watcher/ack_watch.rb +1 -1
  436. data/lib/elasticsearch/api/actions/watcher/activate_watch.rb +1 -1
  437. data/lib/elasticsearch/api/actions/watcher/deactivate_watch.rb +1 -1
  438. data/lib/elasticsearch/api/actions/watcher/delete_watch.rb +1 -1
  439. data/lib/elasticsearch/api/actions/watcher/execute_watch.rb +1 -1
  440. data/lib/elasticsearch/api/actions/watcher/get_settings.rb +1 -1
  441. data/lib/elasticsearch/api/actions/watcher/get_watch.rb +1 -1
  442. data/lib/elasticsearch/api/actions/watcher/put_watch.rb +1 -1
  443. data/lib/elasticsearch/api/actions/watcher/query_watches.rb +1 -1
  444. data/lib/elasticsearch/api/actions/watcher/start.rb +1 -1
  445. data/lib/elasticsearch/api/actions/watcher/stats.rb +1 -1
  446. data/lib/elasticsearch/api/actions/watcher/stop.rb +1 -1
  447. data/lib/elasticsearch/api/actions/watcher/update_settings.rb +1 -1
  448. data/lib/elasticsearch/api/actions/xpack/info.rb +1 -1
  449. data/lib/elasticsearch/api/actions/xpack/usage.rb +1 -1
  450. data/lib/elasticsearch/api/namespace/query_ruleset.rb +36 -0
  451. data/lib/elasticsearch/api/namespace/synonym_rule.rb +36 -0
  452. data/lib/elasticsearch/api/namespace/synonyms.rb +36 -0
  453. data/lib/elasticsearch/api/namespace/synonyms_sets.rb +36 -0
  454. data/lib/elasticsearch/api/version.rb +1 -1
  455. data/lib/elasticsearch/api.rb +5 -1
  456. data/spec/elasticsearch/api/actions/cluster/info_spec.rb +35 -0
  457. data/spec/elasticsearch/api/actions/query_ruleset/delete_spec.rb +35 -0
  458. data/spec/elasticsearch/api/actions/query_ruleset/get_spec.rb +34 -0
  459. data/spec/elasticsearch/api/actions/query_ruleset/list_spec.rb +34 -0
  460. data/spec/elasticsearch/api/actions/query_ruleset/put_spec.rb +35 -0
  461. data/spec/elasticsearch/api/actions/search_application/render_query_spec.rb +34 -0
  462. data/spec/elasticsearch/api/actions/security/create_cross_cluster_api_key_spec.rb +35 -0
  463. data/spec/elasticsearch/api/actions/security/get_settings_spec.rb +34 -0
  464. data/spec/elasticsearch/api/actions/security/update_cross_cluster_api_key_spec.rb +35 -0
  465. data/spec/elasticsearch/api/actions/security/update_settings_spec.rb +34 -0
  466. data/spec/elasticsearch/api/actions/synonyms/delete_synonym_rule_spec.rb +34 -0
  467. data/spec/elasticsearch/api/actions/synonyms/delete_synonym_spec.rb +34 -0
  468. data/spec/elasticsearch/api/actions/synonyms/get_synonym_rule_spec.rb +34 -0
  469. data/spec/elasticsearch/api/actions/synonyms/get_synonym_spec.rb +34 -0
  470. data/spec/elasticsearch/api/actions/synonyms/get_synonyms_sets_spec.rb +34 -0
  471. data/spec/elasticsearch/api/actions/synonyms/put_synonym_rule_spec.rb +34 -0
  472. data/spec/elasticsearch/api/actions/synonyms/update_spec.rb +34 -0
  473. data/spec/platinum/integration/analytics/usage_spec.rb +56 -0
  474. data/spec/platinum/integration/api_key/admin_user_query_api_keys_spec.rb +111 -0
  475. data/spec/platinum/integration/api_key/api_key_admin_user_spec.rb +127 -0
  476. data/spec/platinum/integration/api_key/api_key_cross_cluster_spec.rb +122 -0
  477. data/spec/platinum/integration/api_key/api_key_invalidation_spec.rb +104 -0
  478. data/spec/platinum/integration/api_key/api_key_query_spec.rb +149 -0
  479. data/spec/platinum/integration/api_key/api_key_spec.rb +156 -0
  480. data/spec/platinum/integration/api_key/api_key_update_spec.rb +134 -0
  481. data/spec/platinum/integration/eql/eql_async_spec.rb +72 -0
  482. data/spec/platinum/integration/health/health_spec.rb +49 -0
  483. data/spec/platinum/integration/ml/get_memory_stats_spec.rb +47 -0
  484. data/spec/platinum/integration/platinum_helper.rb +42 -0
  485. data/spec/platinum/integration/service_accounts/service_accounts_spec.rb +65 -0
  486. data/spec/platinum/integration/snapshots/snapshots_spec.rb +84 -0
  487. data/spec/platinum/integration/spatial/script_doc_values_spec.rb +147 -0
  488. data/spec/platinum/integration/token/token_spec.rb +94 -0
  489. data/spec/{rest_api_tests_helper.rb → rest_api/rest_api_tests_helper.rb} +15 -8
  490. data/spec/{elasticsearch/api → rest_api}/rest_api_yaml_spec.rb +1 -1
  491. data/spec/rest_api/skipped_tests_platinum.yml +111 -0
  492. metadata +366 -274
  493. data/spec/skipped_tests_platinum.yml +0 -54
  494. /data/spec/{unit_tests_platinum → platinum}/unit/async_search/delete_test.rb +0 -0
  495. /data/spec/{unit_tests_platinum → platinum}/unit/async_search/get_test.rb +0 -0
  496. /data/spec/{unit_tests_platinum → platinum}/unit/async_search/status_test.rb +0 -0
  497. /data/spec/{unit_tests_platinum → platinum}/unit/async_search/submit_test.rb +0 -0
  498. /data/spec/{unit_tests_platinum → platinum}/unit/autoscaling/delete_autoscaling_policy_test.rb +0 -0
  499. /data/spec/{unit_tests_platinum → platinum}/unit/autoscaling/get_autoscaling_capacity_test.rb +0 -0
  500. /data/spec/{unit_tests_platinum → platinum}/unit/autoscaling/get_autoscaling_policy_test.rb +0 -0
  501. /data/spec/{unit_tests_platinum → platinum}/unit/autoscaling/put_autoscaling_policy_test.rb +0 -0
  502. /data/spec/{unit_tests_platinum → platinum}/unit/enrich/delete_policy_test.rb +0 -0
  503. /data/spec/{unit_tests_platinum → platinum}/unit/eql/delete_test.rb +0 -0
  504. /data/spec/{unit_tests_platinum → platinum}/unit/eql/get_status_test.rb +0 -0
  505. /data/spec/{unit_tests_platinum → platinum}/unit/eql/get_test.rb +0 -0
  506. /data/spec/{unit_tests_platinum → platinum}/unit/eql/search_test.rb +0 -0
  507. /data/spec/{unit_tests_platinum → platinum}/unit/graph/explore_test.rb +0 -0
  508. /data/spec/{unit_tests_platinum → platinum}/unit/index_lifecycle_management/explain_test.rb +0 -0
  509. /data/spec/{unit_tests_platinum → platinum}/unit/index_lifecycle_management/get_status_test.rb +0 -0
  510. /data/spec/{unit_tests_platinum → platinum}/unit/index_lifecycle_management/move_to_step.rb +0 -0
  511. /data/spec/{unit_tests_platinum → platinum}/unit/index_lifecycle_management/remove_policy_test.rb +0 -0
  512. /data/spec/{unit_tests_platinum → platinum}/unit/index_lifecycle_management/retry_policy_test.rb +0 -0
  513. /data/spec/{unit_tests_platinum → platinum}/unit/index_lifecycle_management/start_test.rb +0 -0
  514. /data/spec/{unit_tests_platinum → platinum}/unit/index_lifecycle_management/stop_test.rb +0 -0
  515. /data/spec/{unit_tests_platinum → platinum}/unit/indices/create_data_stream_test.rb +0 -0
  516. /data/spec/{unit_tests_platinum → platinum}/unit/indices/data_stream_stats_test.rb +0 -0
  517. /data/spec/{unit_tests_platinum → platinum}/unit/indices/delete_data_stream_test.rb +0 -0
  518. /data/spec/{unit_tests_platinum → platinum}/unit/indices/downsample_test.rb +0 -0
  519. /data/spec/{unit_tests_platinum → platinum}/unit/indices/get_data_stream_test.rb +0 -0
  520. /data/spec/{unit_tests_platinum → platinum}/unit/indices/migrate_to_data_stream_test.rb +0 -0
  521. /data/spec/{unit_tests_platinum → platinum}/unit/indices/modify_data_stream_test.rb +0 -0
  522. /data/spec/{unit_tests_platinum → platinum}/unit/indices/promote_data_stream_test.rb +0 -0
  523. /data/spec/{unit_tests_platinum → platinum}/unit/info_test.rb +0 -0
  524. /data/spec/{unit_tests_platinum → platinum}/unit/knn_search_test.rb +0 -0
  525. /data/spec/{unit_tests_platinum → platinum}/unit/license/delete_test.rb +0 -0
  526. /data/spec/{unit_tests_platinum → platinum}/unit/license/get_test.rb +0 -0
  527. /data/spec/{unit_tests_platinum → platinum}/unit/license/post_test.rb +0 -0
  528. /data/spec/{unit_tests_platinum → platinum}/unit/logstash/delete_pipeline_test.rb +0 -0
  529. /data/spec/{unit_tests_platinum → platinum}/unit/logstash/get_pipeline_test.rb +0 -0
  530. /data/spec/{unit_tests_platinum → platinum}/unit/logstash/put_pipeline_test.rb +0 -0
  531. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/clear_trained_model_deployment_cache_test.rb +0 -0
  532. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/close_job_test.rb +0 -0
  533. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/delete_datafeed_test.rb +0 -0
  534. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/delete_expired_data_test.rb +0 -0
  535. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/delete_filter_test.rb +0 -0
  536. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/delete_forecast_test.rb +0 -0
  537. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/delete_job_test.rb +0 -0
  538. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/delete_model_alias_test.rb +0 -0
  539. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/delete_model_snapshot_test.rb +0 -0
  540. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/flush_job_test.rb +0 -0
  541. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/forecast_test.rb +0 -0
  542. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/get_buckets_test.rb +0 -0
  543. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/get_categories_test.rb +0 -0
  544. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/get_datafeed_stats_test.rb +0 -0
  545. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/get_datafeeds_test.rb +0 -0
  546. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/get_filters_test.rb +0 -0
  547. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/get_influencers_test.rb +0 -0
  548. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/get_job_stats_test.rb +0 -0
  549. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/get_jobs_test.rb +0 -0
  550. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/get_model_snapshots_test.rb +0 -0
  551. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/get_overall_buckets_test.rb +0 -0
  552. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/get_records_test.rb +0 -0
  553. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/open_job_test.rb +0 -0
  554. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/post_data_test.rb +0 -0
  555. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/preview_data_frame_analytics_test.rb +0 -0
  556. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/preview_datafeed_test.rb +0 -0
  557. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/put_datafeed_test.rb +0 -0
  558. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/put_filter_test.rb +0 -0
  559. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/put_job_test.rb +0 -0
  560. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/put_trained_model_alias_test.rb +0 -0
  561. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/revert_model_snapshot_test.rb +0 -0
  562. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/start_datafeed_test.rb +0 -0
  563. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/stop_datafeed_test.rb +0 -0
  564. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/update_data_frame_analytics_test.rb +0 -0
  565. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/update_datafeed_test.rb +0 -0
  566. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/update_filter_test.rb +0 -0
  567. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/update_job_test.rb +0 -0
  568. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/update_model_snapshot_test.rb +0 -0
  569. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/upgrade_job_snapshot_test.rb +0 -0
  570. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/validate_detector_test.rb +0 -0
  571. /data/spec/{unit_tests_platinum → platinum}/unit/machine_learning/validate_test.rb +0 -0
  572. /data/spec/{unit_tests_platinum → platinum}/unit/migration/deprecations_test.rb +0 -0
  573. /data/spec/{unit_tests_platinum → platinum}/unit/monitoring/bulk_test.rb +0 -0
  574. /data/spec/{unit_tests_platinum → platinum}/unit/rollup/get_rollup_index_caps_test.rb +0 -0
  575. /data/spec/{unit_tests_platinum → platinum}/unit/security/activate_user_profile_test.rb +0 -0
  576. /data/spec/{unit_tests_platinum → platinum}/unit/security/authenticate_test.rb +0 -0
  577. /data/spec/{unit_tests_platinum → platinum}/unit/security/bulk_update_api_key_test.rb +0 -0
  578. /data/spec/{unit_tests_platinum → platinum}/unit/security/change_password_test.rb +0 -0
  579. /data/spec/{unit_tests_platinum → platinum}/unit/security/clear_api_key_cache_test.rb +0 -0
  580. /data/spec/{unit_tests_platinum → platinum}/unit/security/clear_cached_privileges_test.rb +0 -0
  581. /data/spec/{unit_tests_platinum → platinum}/unit/security/clear_cached_realms_test.rb +0 -0
  582. /data/spec/{unit_tests_platinum → platinum}/unit/security/clear_cached_roles_test.rb +0 -0
  583. /data/spec/{unit_tests_platinum → platinum}/unit/security/delete_privileges_test.rb +0 -0
  584. /data/spec/{unit_tests_platinum → platinum}/unit/security/delete_role_mapping_test.rb +0 -0
  585. /data/spec/{unit_tests_platinum → platinum}/unit/security/delete_role_test.rb +0 -0
  586. /data/spec/{unit_tests_platinum → platinum}/unit/security/delete_user_test.rb +0 -0
  587. /data/spec/{unit_tests_platinum → platinum}/unit/security/disable_user_test.rb +0 -0
  588. /data/spec/{unit_tests_platinum → platinum}/unit/security/enable_user_test.rb +0 -0
  589. /data/spec/{unit_tests_platinum → platinum}/unit/security/get_privileges_test.rb +0 -0
  590. /data/spec/{unit_tests_platinum → platinum}/unit/security/get_role_mapping_test.rb +0 -0
  591. /data/spec/{unit_tests_platinum → platinum}/unit/security/get_role_test.rb +0 -0
  592. /data/spec/{unit_tests_platinum → platinum}/unit/security/get_token_test.rb +0 -0
  593. /data/spec/{unit_tests_platinum → platinum}/unit/security/get_user_privileges_test.rb +0 -0
  594. /data/spec/{unit_tests_platinum → platinum}/unit/security/get_user_profile_test.rb +0 -0
  595. /data/spec/{unit_tests_platinum → platinum}/unit/security/get_user_test.rb +0 -0
  596. /data/spec/{unit_tests_platinum → platinum}/unit/security/grant_api_key_test.rb +0 -0
  597. /data/spec/{unit_tests_platinum → platinum}/unit/security/has_privileges_test.rb +0 -0
  598. /data/spec/{unit_tests_platinum → platinum}/unit/security/invalidate_token_test.rb +0 -0
  599. /data/spec/{unit_tests_platinum → platinum}/unit/security/oidc_authenticate_test.rb +0 -0
  600. /data/spec/{unit_tests_platinum → platinum}/unit/security/oidc_logout_test.rb +0 -0
  601. /data/spec/{unit_tests_platinum → platinum}/unit/security/oidc_prepare_authentication_test.rb +0 -0
  602. /data/spec/{unit_tests_platinum → platinum}/unit/security/put_privileges_test.rb +0 -0
  603. /data/spec/{unit_tests_platinum → platinum}/unit/security/put_role_mapping_test.rb +0 -0
  604. /data/spec/{unit_tests_platinum → platinum}/unit/security/put_role_test.rb +0 -0
  605. /data/spec/{unit_tests_platinum → platinum}/unit/security/put_user_test.rb +0 -0
  606. /data/spec/{unit_tests_platinum → platinum}/unit/security/update_user_profile_data_test.rb +0 -0
  607. /data/spec/{unit_tests_platinum → platinum}/unit/ssl/certificates_test.rb +0 -0
  608. /data/spec/{unit_tests_platinum → platinum/unit}/test_helper.rb +0 -0
  609. /data/spec/{unit_tests_platinum → platinum}/unit/text_structure/find_structure_test.rb +0 -0
  610. /data/spec/{unit_tests_platinum → platinum}/unit/transform/reset_transform_spec.rb +0 -0
  611. /data/spec/{unit_tests_platinum → platinum}/unit/transform/upgrade_transforms_spec.rb +0 -0
  612. /data/spec/{unit_tests_platinum → platinum}/unit/usage_test.rb +0 -0
  613. /data/spec/{unit_tests_platinum → platinum}/unit/watcher/ack_watch_test.rb +0 -0
  614. /data/spec/{unit_tests_platinum → platinum}/unit/watcher/activate_watch_test.rb +0 -0
  615. /data/spec/{unit_tests_platinum → platinum}/unit/watcher/deactivate_watch_test.rb +0 -0
  616. /data/spec/{unit_tests_platinum → platinum}/unit/watcher/delete_watch_test.rb +0 -0
  617. /data/spec/{unit_tests_platinum → platinum}/unit/watcher/execute_watch_test.rb +0 -0
  618. /data/spec/{unit_tests_platinum → platinum}/unit/watcher/get_watch_test.rb +0 -0
  619. /data/spec/{unit_tests_platinum → platinum}/unit/watcher/put_watch_test.rb +0 -0
  620. /data/spec/{unit_tests_platinum → platinum}/unit/watcher/query_watches_test.rb +0 -0
  621. /data/spec/{unit_tests_platinum → platinum}/unit/watcher/start_test.rb +0 -0
  622. /data/spec/{unit_tests_platinum → platinum}/unit/watcher/stats_test.rb +0 -0
  623. /data/spec/{unit_tests_platinum → platinum}/unit/watcher/stop_test.rb +0 -0
  624. /data/spec/{elasticsearch/api → rest_api}/run_rspec_matchers.rb +0 -0
  625. /data/spec/{skipped_tests_free.yml → rest_api/skipped_tests_free.yml} +0 -0
@@ -0,0 +1,127 @@
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 'base64'
19
+ require_relative '../platinum_helper'
20
+
21
+ describe 'API keys' do
22
+ before do
23
+ ADMIN_CLIENT.security.put_user(
24
+ username: client_username,
25
+ body: { password: 'test-password', roles: ['superuser'] }
26
+ )
27
+ end
28
+
29
+ after do
30
+ ADMIN_CLIENT.security.delete_user(username: client_username)
31
+ end
32
+
33
+ let(:client_username) { "superuser#{Time.now.to_i}"}
34
+
35
+ let(:client) do
36
+ Elasticsearch::Client.new(
37
+ host: "https://#{HOST_URI.host}:#{HOST_URI.port}",
38
+ user: client_username,
39
+ password: 'test-password',
40
+ transport_options: TRANSPORT_OPTIONS
41
+ )
42
+ end
43
+
44
+ it 'gets api key (with role descriptors + metadata)' do
45
+ response = client.security.create_api_key(
46
+ body: {
47
+ name: "api-key-role",
48
+ expiration: "1d",
49
+ role_descriptors: {
50
+ 'role-a': {
51
+ cluster: ["all"],
52
+ index: [
53
+ {
54
+ names: ["index-a"],
55
+ privileges: ["read"]
56
+ }
57
+ ]
58
+ }
59
+ },
60
+ metadata: {
61
+ string: "bean",
62
+ number: 5,
63
+ boolean: true
64
+ }
65
+ }
66
+ )
67
+ expect(response['name']).to eq 'api-key-role'
68
+ expect(response['id']).not_to be nil
69
+ expect(response['api_key']).not_to be nil
70
+ expect(response['expiration']).not_to be nil
71
+ api_key_id = response['id']
72
+ api_key_name = response['name']
73
+ credentials = response['encoded']
74
+
75
+ response = client.security.authenticate
76
+ owner_name = response['username']
77
+
78
+ response = client.security.get_api_key(id: api_key_id)
79
+ expect(response['api_keys'].first['id']).to eq api_key_id
80
+ expect(response['api_keys'].first['name']).to eq api_key_name
81
+ expect(response['api_keys'].first['username']).to eq owner_name
82
+ expect(response['api_keys'].first['invalidated']).to eq false
83
+ expect(response['api_keys'].first['creation']).not_to be nil
84
+ expect(response['api_keys'].first['metadata']['string']).to eq 'bean'
85
+ expect(response['api_keys'].first['metadata']['number']).to eq 5
86
+ expect(response['api_keys'].first['metadata']['boolean']).to eq true
87
+ expect(response['api_keys'].first['role_descriptors'])
88
+ .to eq(
89
+ {
90
+ 'role-a' => {
91
+ 'cluster' => ['all'],
92
+ 'indices' => [
93
+ {
94
+ 'names' => ['index-a'],
95
+ 'privileges' => ['read'],
96
+ 'allow_restricted_indices' => false
97
+ }
98
+ ],
99
+ 'applications' => [ ],
100
+ 'run_as' => [ ],
101
+ 'metadata' => { },
102
+ 'transient_metadata' => { 'enabled' => true }
103
+ }
104
+ }
105
+ )
106
+
107
+ response = client.security.get_api_key(owner: true)
108
+ expect(response['api_keys'].length).to eq 1
109
+ expect(response['api_keys'].first['id']).to eq api_key_id
110
+ expect(response['api_keys'].first['name']).to eq api_key_name
111
+ expect(response['api_keys'].first['username']).to eq owner_name
112
+ expect(response['api_keys'].first['invalidated']).to eq false
113
+ expect(response['api_keys'].first['creation']).not_to be nil
114
+
115
+ client = Elasticsearch::Client.new(
116
+ host: "https://#{HOST_URI.host}:#{HOST_URI.port}",
117
+ api_key: credentials,
118
+ transport_options: TRANSPORT_OPTIONS
119
+ )
120
+
121
+ response = client.security.get_api_key(id: api_key_id)
122
+ expect(response['api_keys'].length).to eq 1
123
+ expect(response['api_keys'].first['id']).to eq api_key_id
124
+ expect(response['api_keys'].first['name']).to eq api_key_name
125
+ expect(response['api_keys'].first['username']).to eq owner_name
126
+ end
127
+ end
@@ -0,0 +1,122 @@
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 'base64'
19
+ require_relative '../platinum_helper'
20
+
21
+ describe 'API keys API' do
22
+ let(:user) { 'admin_user' }
23
+ let(:password) { 'x-pack-test-password' }
24
+ before do
25
+ ADMIN_CLIENT.security.put_role(
26
+ name: 'admin_role',
27
+ body: { cluster: ['manage_security'] }
28
+ )
29
+ ADMIN_CLIENT.security.put_user(
30
+ username: user,
31
+ body: {
32
+ password: password,
33
+ roles: [ 'admin_role' ],
34
+ full_name: 'Admin user'
35
+ }
36
+ )
37
+ end
38
+
39
+ after do
40
+ ADMIN_CLIENT.security.delete_role(name: 'admin_role', ignore: 404)
41
+ ADMIN_CLIENT.security.delete_user(username: user, ignore: 404)
42
+ end
43
+
44
+ describe 'Cross Cluster API Key' do
45
+ it 'updates api key' do
46
+ response = ADMIN_CLIENT.security.create_cross_cluster_api_key(
47
+ body: {
48
+ name: "my-cc-api-key",
49
+ expiration: "1d",
50
+ access: {
51
+ search: [
52
+ {
53
+ names: ["logs*"],
54
+ query: {
55
+ term: { "category": "shared" }
56
+ },
57
+ field_security: {
58
+ grant: ["*"],
59
+ except: ["private"]
60
+ }
61
+ }
62
+ ],
63
+ replication: [
64
+ {
65
+ names: ["archive"],
66
+ allow_restricted_indices: false
67
+ }
68
+ ]
69
+ },
70
+ metadata: {
71
+ answer: 42,
72
+ tag: "dev"
73
+ }
74
+ }
75
+ )
76
+ expect(response.status).to eq 200
77
+ expect(response['name']).to eq 'my-cc-api-key'
78
+ id = response['id']
79
+ expect(id).not_to be nil
80
+ expect(response['api_key']).not_to be nil
81
+ expect(response['expiration']).not_to be nil
82
+ credentials = Base64.strict_encode64("#{response['id']}:#{response['api_key']}")
83
+ expect(credentials).to eq response['encoded']
84
+
85
+ new_client = Elasticsearch::Client.new(
86
+ host: "https://#{HOST_URI.host}:#{HOST_URI.port}",
87
+ transport_options: TRANSPORT_OPTIONS
88
+ )
89
+ expect do
90
+ new_client.security.authenticate(headers: { authorization: "ApiKey #{credentials}" })
91
+ end.to raise_error(Elastic::Transport::Transport::Errors::Unauthorized)
92
+
93
+ response = ADMIN_CLIENT.security.get_api_key(id: id, with_limited_by: true)
94
+ expect(response.status).to eq 200
95
+ api_key = response['api_keys'].first
96
+ expect(api_key['name']) == 'my-cc-api-key'
97
+ expect(api_key['type']) == 'cross_cluster'
98
+ expect(api_key['invalidated']).to be false
99
+ expect(api_key['metadata']).to eq({'answer' => 42, 'tag' => 'dev'})
100
+
101
+ # Tests update cc api_key
102
+ response = ADMIN_CLIENT.security.update_cross_cluster_api_key(
103
+ id: id,
104
+ body: {
105
+ access: {
106
+ replication: [{ names: ["archive"] }]
107
+ },
108
+ metadata: { "tag": "prod" }
109
+ }
110
+ )
111
+ expect(response['updated']).to be true
112
+
113
+ response = ADMIN_CLIENT.security.get_api_key(id: id, with_limited_by: true)
114
+ expect(response['api_keys'].length).to eq 1
115
+ api_key = response['api_keys'].first
116
+ expect(api_key['name']) == 'my-cc-api-key'
117
+ expect(api_key['type']) == 'cross_cluster'
118
+ expect(api_key['invalidated']).to be false
119
+ expect(api_key['metadata']).to eq({'tag' => 'prod'})
120
+ end
121
+ end
122
+ end
@@ -0,0 +1,104 @@
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 API invalidation' do
21
+ before do
22
+ ADMIN_CLIENT.security.put_role(
23
+ name: 'admin_role',
24
+ body: {
25
+ cluster: ['manage_api_key']
26
+ }
27
+ )
28
+ ADMIN_CLIENT.security.put_role(
29
+ name: 'user_role',
30
+ body: {
31
+ cluster: ['manage_own_api_key']
32
+ }
33
+ )
34
+ ADMIN_CLIENT.security.put_user(
35
+ username: 'api_key_manager',
36
+ body: {
37
+ password: 'changeme',
38
+ roles: [ 'admin_role' ],
39
+ full_name: 'API key manager'
40
+ }
41
+ )
42
+ ADMIN_CLIENT.security.put_user(
43
+ username: 'api_key_test_user1',
44
+ body: {
45
+ password: 'x-pack-test-password',
46
+ roles: [ 'user_role' ],
47
+ full_name: 'API key user'
48
+ }
49
+ )
50
+ end
51
+
52
+ after do
53
+ ADMIN_CLIENT.security.delete_role(name: "admin_role", ignore: 404)
54
+ ADMIN_CLIENT.security.delete_role(name: "user_role", ignore: 404)
55
+ ADMIN_CLIENT.security.delete_user(username: "api_key_user1", ignore: 404)
56
+ ADMIN_CLIENT.security.delete_user(username: "api_key_manager", ignore: 404)
57
+ end
58
+
59
+ let(:credentials) { Base64.strict_encode64("api_key_manager:changeme") }
60
+
61
+ let(:client) do
62
+ Elasticsearch::Client.new(
63
+ host: HOST,
64
+ transport_options: TRANSPORT_OPTIONS.merge(headers: { Authorization: "Basic #{credentials}" })
65
+ )
66
+ end
67
+
68
+ it 'invalidates by realm name' do
69
+ response = client.security.create_api_key(
70
+ body: {
71
+ name: "manager-api-key",
72
+ expiration: "1d",
73
+ role_descriptors: {}
74
+ }
75
+ )
76
+ expect(response['name']).to eq 'manager-api-key'
77
+ id = response['id']
78
+ expect(id).not_to be nil
79
+ expect(response['api_key']).not_to be nil
80
+ expect(response['expiration']).not_to be nil
81
+
82
+ user_credentials = Base64.strict_encode64('api_key_test_user1:x-pack-test-password')
83
+ user_client = Elasticsearch::Client.new(
84
+ host: HOST,
85
+ transport_options: TRANSPORT_OPTIONS.merge(headers: { Authentication: "Basic #{user_credentials}" })
86
+ )
87
+ response = user_client.security.create_api_key(
88
+ body: {
89
+ name: "user1-api-key",
90
+ expiration: "1d",
91
+ role_descriptors: {}
92
+ }
93
+ )
94
+ expect(response['name']).to eq 'user1-api-key'
95
+ id = response['id']
96
+ expect(id).not_to be nil
97
+ expect(response['api_key']).not_to be nil
98
+ expect(response['expiration']).not_to be nil
99
+
100
+ response = client.security.invalidate_api_key(body: { realm_name: 'default_native'})
101
+ expect(response['invalidated_api_keys'].count).to be >= 2
102
+ expect(response['error_count']).to eq 0
103
+ end
104
+ end
@@ -0,0 +1,149 @@
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
+ ADMIN_CLIENT.security.put_user(
41
+ username: 'api_key_user_1',
42
+ body: {
43
+ password: 'x-pack-test-password',
44
+ roles: [ 'user_role' ],
45
+ full_name: 'API key user 1'
46
+ }
47
+ )
48
+ ADMIN_CLIENT.security.put_user(
49
+ username: 'api_key_user_2',
50
+ body: {
51
+ password: 'x-pack-test-password',
52
+ roles: [ 'user_role' ],
53
+ full_name: 'API key user 2'
54
+ }
55
+ )
56
+ end
57
+
58
+ after do
59
+ ADMIN_CLIENT.security.delete_role(name: "admin_role", ignore: 404)
60
+ ADMIN_CLIENT.security.delete_role(name: "user_role", ignore: 404)
61
+ ADMIN_CLIENT.security.delete_user(username: "api_key_user_1", ignore: 404)
62
+ ADMIN_CLIENT.security.delete_user(username: "api_key_user_2", ignore: 404)
63
+ ADMIN_CLIENT.security.delete_user(username: "api_key_manager", ignore: 404)
64
+ end
65
+
66
+ def client(headers)
67
+ Elasticsearch::Client.new(
68
+ host: "https://#{HOST_URI.host}:#{HOST_URI.port}",
69
+ transport_options: TRANSPORT_OPTIONS.merge(headers: headers)
70
+ )
71
+ end
72
+
73
+ let(:manager_auth) do
74
+ { Authorization: "Basic YXBpX2tleV9tYW5hZ2VyOngtcGFjay10ZXN0LXBhc3N3b3Jk" }
75
+ end
76
+ let(:user1_auth) do
77
+ { Authorization: "Basic YXBpX2tleV91c2VyXzE6eC1wYWNrLXRlc3QtcGFzc3dvcmQ=" }
78
+ end
79
+ let(:user2_auth) do
80
+ { Authorization: "Basic YXBpX2tleV91c2VyXzI6eC1wYWNrLXRlc3QtcGFzc3dvcmQ=" }
81
+ end
82
+
83
+ it 'queries api key' do
84
+ # api_key_manager authorization:
85
+ client = client(manager_auth)
86
+ response = client.security.create_api_key(
87
+ body: {
88
+ name: 'manager-api-key',
89
+ expiration: '10d',
90
+ metadata: {
91
+ letter: 'a',
92
+ number: 42
93
+ }
94
+ }
95
+ )
96
+ expect(response.status).to eq 200
97
+ manager_key_id = response['id']
98
+
99
+ # api_key_user1 authorization:
100
+ client = client(user1_auth)
101
+ response = client.security.create_api_key(
102
+ body: {
103
+ name: 'user1-api-key',
104
+ expiration: '1d',
105
+ metadata: {
106
+ letter: 'a',
107
+ number: 1
108
+ }
109
+ }
110
+ )
111
+ expect(response.status).to eq 200
112
+ user1_key_id = response['id']
113
+
114
+ # api_key_user2 authorization
115
+ client = client(user2_auth)
116
+ response = client.security.create_api_key(
117
+ body: {
118
+ name: 'user2-api-key',
119
+ expiration: '1d',
120
+ metadata: {
121
+ letter: 'b',
122
+ number: 42
123
+ }
124
+ }
125
+ )
126
+ expect(response.status).to eq 200
127
+ user1_key_id = response['id']
128
+
129
+ client = client(manager_auth)
130
+ response = client.security.query_api_keys
131
+ expect(response.status).to eq 200
132
+ manager_total = response['total']
133
+ expect(manager_total).to be >= 3
134
+
135
+ client = client(user1_auth)
136
+ response = client.security.query_api_keys
137
+ expect(response.status).to eq 200
138
+ user_1_total = response['total']
139
+ expect(user_1_total).to be >= 1
140
+ expect(user_1_total).to be < manager_total
141
+
142
+ client = client(user2_auth)
143
+ response = client.security.query_api_keys
144
+ expect(response.status).to eq 200
145
+ user_2_total = response['total']
146
+ expect(user_2_total).to be >= 1
147
+ expect(user_2_total).to be < manager_total
148
+ end
149
+ end
@@ -0,0 +1,156 @@
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 'base64'
19
+ require_relative '../platinum_helper'
20
+
21
+ describe 'API keys' do
22
+ before do
23
+ ADMIN_CLIENT.security.put_role(
24
+ name: 'admin_role',
25
+ body: {
26
+ cluster: ['manage_api_key'],
27
+ indices: [
28
+ {
29
+ names: '*',
30
+ privileges: ['all']
31
+ }
32
+ ],
33
+ applications: [
34
+ {
35
+ application: 'myapp',
36
+ privileges: ['*'],
37
+ resources: ['*']
38
+ }
39
+ ]
40
+ }
41
+ )
42
+ ADMIN_CLIENT.security.put_user(
43
+ username: 'api_key_user',
44
+ body: {
45
+ password: 'test-password',
46
+ roles: [ 'admin_role' ],
47
+ full_name: 'API key user'
48
+ }
49
+ )
50
+ ADMIN_CLIENT.security.put_privileges(
51
+ body:
52
+ {
53
+ myapp: {
54
+ read: {
55
+ application: 'myapp',
56
+ name: 'read',
57
+ actions: [ 'data:read/*' ]
58
+ },
59
+ write: {
60
+ application: 'myapp',
61
+ name: 'write',
62
+ actions: [ 'data:write/*' ]
63
+ }
64
+ }
65
+ }
66
+ )
67
+ end
68
+
69
+ after do
70
+ ADMIN_CLIENT.security.delete_role(name: "admin_role", ignore: 404)
71
+ ADMIN_CLIENT.security.delete_user(username: "api_key_user", ignore: 404)
72
+ ADMIN_CLIENT.security.delete_privileges(application: 'myapp', name: "read,write", ignore: 404)
73
+ end
74
+
75
+ let(:credentials) { Base64.strict_encode64("api_key_user:test-password") }
76
+ let(:client) do
77
+ Elasticsearch::Client.new(
78
+ host: HOST,
79
+ transport_options: TRANSPORT_OPTIONS.merge(headers: { Authorization: "Basic #{credentials}" })
80
+ )
81
+ end
82
+
83
+ it 'creates api key' do
84
+ response = client.security.create_api_key(
85
+ body: {
86
+ name: "my-api-key",
87
+ expiration: "1d",
88
+ role_descriptors: {
89
+ 'role-a' => {
90
+ cluster: ["all"],
91
+ index: [
92
+ {
93
+ names: ["index-a"],
94
+ privileges: ["read"]
95
+ }
96
+ ]
97
+ },
98
+ 'role-b' => {
99
+ cluster: ["manage"],
100
+ index: [
101
+ {
102
+ names: ["index-b"],
103
+ privileges: ["all"]
104
+ }
105
+ ]
106
+ }
107
+ }
108
+ }
109
+ )
110
+ expect(response['name']).to eq 'my-api-key'
111
+ id = response['id']
112
+ expect(id).not_to be nil
113
+ expect(response['api_key']).not_to be nil
114
+ expect(response['expiration']).not_to be nil
115
+ credentials = Base64.strict_encode64("#{response['id']}:#{response['api_key']}")
116
+ expect(credentials).to eq response['encoded']
117
+ new_client = Elasticsearch::Client.new(
118
+ host: "https://#{HOST_URI.host}:#{HOST_URI.port}",
119
+ transport_options: TRANSPORT_OPTIONS,
120
+ api_key: credentials
121
+ )
122
+ response = new_client.security.authenticate
123
+ expect(response['username']).to eq 'api_key_user'
124
+ expect(response['roles'].length).to eq 0
125
+ expect(response['authentication_realm']['name']).to eq '_es_api_key'
126
+ expect(response['authentication_realm']['type']).to eq '_es_api_key'
127
+ expect(response['api_key']['id']).to eq id
128
+ expect(response['api_key']['name']).to eq 'my-api-key'
129
+ response = ADMIN_CLIENT.security.clear_api_key_cache(ids: id)
130
+ expect(response['_nodes']['failed']).to eq 0
131
+ end
132
+
133
+ context 'Test get api key' do
134
+ let(:name) { 'my-api-key-2'}
135
+
136
+ it 'gets api key' do
137
+ response = ADMIN_CLIENT.security.create_api_key(
138
+ body: { name: name, expiration: '1d' }
139
+ )
140
+ expect(response['name']).to eq name
141
+ id = response['id']
142
+ expect(id).not_to be nil
143
+ expect(response['api_key']).not_to be nil
144
+ expect(response['expiration']).not_to be nil
145
+
146
+ response = ADMIN_CLIENT.security.get_api_key(id: id)
147
+ expect(response['api_keys'].first['id']).to eq id
148
+ expect(response['api_keys'].first['name']).to eq name
149
+ expect(response['api_keys'].first['username']).to eq 'elastic'
150
+ expect(response['api_keys'].first['invalidated']).to eq false
151
+ expect(response['api_keys'].first['creation']).not_to be nil
152
+ response = ADMIN_CLIENT.security.get_api_key(owner: true)
153
+ expect(response['api_keys'].length).to be > 0
154
+ end
155
+ end
156
+ end