opensearch-ruby 3.3.0 → 4.0.0.pre.beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (431) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/lib/opensearch/api/actions/asynchronous_search/delete.rb +38 -0
  4. data/lib/opensearch/api/actions/asynchronous_search/get.rb +36 -0
  5. data/lib/opensearch/api/actions/asynchronous_search/search.rb +43 -0
  6. data/lib/opensearch/api/actions/asynchronous_search/stats.rb +31 -0
  7. data/lib/opensearch/api/actions/bulk.rb +48 -79
  8. data/lib/opensearch/api/actions/bulk_stream.rb +64 -0
  9. data/lib/opensearch/api/actions/cat/aliases.rb +27 -55
  10. data/lib/opensearch/api/actions/cat/all_pit_segments.rb +23 -22
  11. data/lib/opensearch/api/actions/cat/allocation.rb +29 -57
  12. data/lib/opensearch/api/actions/cat/cluster_manager.rb +27 -31
  13. data/lib/opensearch/api/actions/cat/count.rb +23 -51
  14. data/lib/opensearch/api/actions/cat/fielddata.rb +25 -53
  15. data/lib/opensearch/api/actions/cat/health.rb +22 -46
  16. data/lib/opensearch/api/actions/cat/help.rb +13 -43
  17. data/lib/opensearch/api/actions/cat/indices.rb +37 -65
  18. data/lib/opensearch/api/actions/cat/master.rb +27 -50
  19. data/lib/opensearch/api/actions/cat/nodeattrs.rb +26 -49
  20. data/lib/opensearch/api/actions/cat/nodes.rb +29 -55
  21. data/lib/opensearch/api/actions/cat/pending_tasks.rb +27 -51
  22. data/lib/opensearch/api/actions/cat/pit_segments.rb +24 -25
  23. data/lib/opensearch/api/actions/cat/plugins.rb +26 -51
  24. data/lib/opensearch/api/actions/cat/recovery.rb +27 -56
  25. data/lib/opensearch/api/actions/cat/repositories.rb +26 -49
  26. data/lib/opensearch/api/actions/cat/segment_replication.rb +69 -0
  27. data/lib/opensearch/api/actions/cat/segments.rb +28 -51
  28. data/lib/opensearch/api/actions/cat/shards.rb +30 -58
  29. data/lib/opensearch/api/actions/cat/snapshots.rb +30 -55
  30. data/lib/opensearch/api/actions/cat/tasks.rb +28 -51
  31. data/lib/opensearch/api/actions/cat/templates.rb +28 -55
  32. data/lib/opensearch/api/actions/cat/thread_pool.rb +30 -58
  33. data/lib/opensearch/api/actions/clear_scroll.rb +23 -48
  34. data/lib/opensearch/api/actions/cluster/allocation_explain.rb +19 -47
  35. data/lib/opensearch/api/actions/cluster/delete_component_template.rb +26 -47
  36. data/lib/opensearch/api/actions/cluster/delete_decommission_awareness.rb +33 -0
  37. data/lib/opensearch/api/actions/cluster/delete_voting_config_exclusions.rb +19 -40
  38. data/lib/opensearch/api/actions/cluster/delete_weighted_routing.rb +34 -0
  39. data/lib/opensearch/api/actions/cluster/exists_component_template.rb +26 -51
  40. data/lib/opensearch/api/actions/cluster/get_component_template.rb +22 -49
  41. data/lib/opensearch/api/actions/cluster/get_decommission_awareness.rb +36 -0
  42. data/lib/opensearch/api/actions/cluster/get_settings.rb +22 -45
  43. data/lib/opensearch/api/actions/cluster/get_weighted_routing.rb +36 -0
  44. data/lib/opensearch/api/actions/cluster/health.rb +34 -59
  45. data/lib/opensearch/api/actions/cluster/pending_tasks.rb +19 -42
  46. data/lib/opensearch/api/actions/cluster/post_voting_config_exclusions.rb +18 -41
  47. data/lib/opensearch/api/actions/cluster/put_component_template.rb +27 -50
  48. data/lib/opensearch/api/actions/cluster/put_decommission_awareness.rb +39 -0
  49. data/lib/opensearch/api/actions/cluster/put_settings.rb +22 -45
  50. data/lib/opensearch/api/actions/cluster/put_weighted_routing.rb +37 -0
  51. data/lib/opensearch/api/actions/cluster/remote_info.rb +13 -33
  52. data/lib/opensearch/api/actions/cluster/reroute.rb +26 -49
  53. data/lib/opensearch/api/actions/cluster/state.rb +33 -63
  54. data/lib/opensearch/api/actions/cluster/stats.rb +23 -46
  55. data/lib/opensearch/api/actions/count.rb +51 -81
  56. data/lib/opensearch/api/actions/create.rb +46 -47
  57. data/lib/opensearch/api/actions/create_pit.rb +34 -30
  58. data/lib/opensearch/api/actions/dangling_indices/delete_dangling_index.rb +28 -48
  59. data/lib/opensearch/api/actions/dangling_indices/import_dangling_index.rb +26 -47
  60. data/lib/opensearch/api/actions/dangling_indices/list_dangling_indices.rb +14 -34
  61. data/lib/opensearch/api/actions/delete.rb +47 -76
  62. data/lib/opensearch/api/actions/delete_all_pits.rb +20 -13
  63. data/lib/opensearch/api/actions/delete_by_query.rb +91 -117
  64. data/lib/opensearch/api/actions/delete_by_query_rethrottle.rb +25 -46
  65. data/lib/opensearch/api/actions/delete_pit.rb +21 -17
  66. data/lib/opensearch/api/actions/delete_script.rb +31 -50
  67. data/lib/opensearch/api/actions/exists.rb +49 -81
  68. data/lib/opensearch/api/actions/exists_source.rb +48 -77
  69. data/lib/opensearch/api/actions/explain.rb +51 -83
  70. data/lib/opensearch/api/actions/field_caps.rb +33 -63
  71. data/lib/opensearch/api/actions/flow_framework/create.rb +45 -0
  72. data/lib/opensearch/api/actions/flow_framework/delete.rb +43 -0
  73. data/lib/opensearch/api/actions/flow_framework/deprovision.rb +41 -0
  74. data/lib/opensearch/api/actions/flow_framework/get.rb +36 -0
  75. data/lib/opensearch/api/actions/flow_framework/get_status.rb +41 -0
  76. data/lib/opensearch/api/actions/flow_framework/get_steps.rb +36 -0
  77. data/lib/opensearch/api/actions/flow_framework/provision.rb +37 -0
  78. data/lib/opensearch/api/actions/flow_framework/search.rb +34 -0
  79. data/lib/opensearch/api/actions/flow_framework/search_state.rb +34 -0
  80. data/lib/opensearch/api/actions/flow_framework/update.rb +50 -0
  81. data/lib/opensearch/api/actions/get.rb +49 -80
  82. data/lib/opensearch/api/actions/get_all_pits.rb +18 -13
  83. data/lib/opensearch/api/actions/get_script.rb +27 -48
  84. data/lib/opensearch/api/actions/get_script_context.rb +18 -40
  85. data/lib/opensearch/api/actions/get_script_languages.rb +18 -40
  86. data/lib/opensearch/api/actions/get_source.rb +48 -75
  87. data/lib/opensearch/api/actions/index.rb +49 -80
  88. data/lib/opensearch/api/actions/indices/add_block.rb +34 -58
  89. data/lib/opensearch/api/actions/indices/analyze.rb +16 -52
  90. data/lib/opensearch/api/actions/indices/clear_cache.rb +30 -56
  91. data/lib/opensearch/api/actions/indices/clone.rb +36 -56
  92. data/lib/opensearch/api/actions/indices/close.rb +29 -52
  93. data/lib/opensearch/api/actions/indices/create.rb +26 -49
  94. data/lib/opensearch/api/actions/indices/create_data_stream.rb +37 -0
  95. data/lib/opensearch/api/actions/indices/data_streams_stats.rb +34 -0
  96. data/lib/opensearch/api/actions/indices/delete.rb +30 -55
  97. data/lib/opensearch/api/actions/indices/delete_alias.rb +31 -53
  98. data/lib/opensearch/api/actions/indices/delete_data_stream.rb +38 -0
  99. data/lib/opensearch/api/actions/indices/delete_index_template.rb +25 -46
  100. data/lib/opensearch/api/actions/indices/delete_template.rb +25 -50
  101. data/lib/opensearch/api/actions/indices/exists.rb +31 -57
  102. data/lib/opensearch/api/actions/indices/exists_alias.rb +28 -61
  103. data/lib/opensearch/api/actions/indices/exists_index_template.rb +27 -52
  104. data/lib/opensearch/api/actions/indices/exists_template.rb +27 -55
  105. data/lib/opensearch/api/actions/indices/flush.rb +26 -53
  106. data/lib/opensearch/api/actions/indices/forcemerge.rb +30 -53
  107. data/lib/opensearch/api/actions/indices/get.rb +30 -53
  108. data/lib/opensearch/api/actions/indices/get_alias.rb +24 -56
  109. data/lib/opensearch/api/actions/indices/get_data_stream.rb +34 -0
  110. data/lib/opensearch/api/actions/indices/get_field_mapping.rb +27 -59
  111. data/lib/opensearch/api/actions/indices/get_index_template.rb +23 -50
  112. data/lib/opensearch/api/actions/indices/get_mapping.rb +27 -59
  113. data/lib/opensearch/api/actions/indices/get_settings.rb +32 -64
  114. data/lib/opensearch/api/actions/indices/get_template.rb +23 -50
  115. data/lib/opensearch/api/actions/indices/get_upgrade.rb +22 -54
  116. data/lib/opensearch/api/actions/indices/open.rb +33 -52
  117. data/lib/opensearch/api/actions/indices/put_alias.rb +27 -54
  118. data/lib/opensearch/api/actions/indices/put_index_template.rb +26 -49
  119. data/lib/opensearch/api/actions/indices/put_mapping.rb +31 -58
  120. data/lib/opensearch/api/actions/indices/put_settings.rb +32 -59
  121. data/lib/opensearch/api/actions/indices/put_template.rb +26 -49
  122. data/lib/opensearch/api/actions/indices/recovery.rb +20 -47
  123. data/lib/opensearch/api/actions/indices/refresh.rb +22 -49
  124. data/lib/opensearch/api/actions/indices/resolve_index.rb +21 -48
  125. data/lib/opensearch/api/actions/indices/rollover.rb +31 -59
  126. data/lib/opensearch/api/actions/indices/segments.rb +22 -49
  127. data/lib/opensearch/api/actions/indices/shard_stores.rb +24 -51
  128. data/lib/opensearch/api/actions/indices/shrink.rb +36 -56
  129. data/lib/opensearch/api/actions/indices/simulate_index_template.rb +23 -50
  130. data/lib/opensearch/api/actions/indices/simulate_template.rb +25 -52
  131. data/lib/opensearch/api/actions/indices/split.rb +36 -56
  132. data/lib/opensearch/api/actions/indices/stats.rb +31 -74
  133. data/lib/opensearch/api/actions/indices/update_aliases.rb +22 -45
  134. data/lib/opensearch/api/actions/indices/upgrade.rb +25 -56
  135. data/lib/opensearch/api/actions/indices/validate_query.rb +36 -73
  136. data/lib/opensearch/api/actions/info.rb +18 -36
  137. data/lib/opensearch/api/actions/ingest/delete_pipeline.rb +24 -45
  138. data/lib/opensearch/api/actions/ingest/get_pipeline.rb +20 -49
  139. data/lib/opensearch/api/actions/ingest/processor_grok.rb +18 -33
  140. data/lib/opensearch/api/actions/ingest/put_pipeline.rb +24 -47
  141. data/lib/opensearch/api/actions/ingest/simulate.rb +21 -48
  142. data/lib/opensearch/api/actions/insights/top_queries.rb +38 -0
  143. data/lib/opensearch/api/actions/ism/add_policy.rb +37 -0
  144. data/lib/opensearch/api/actions/ism/change_policy.rb +37 -0
  145. data/lib/opensearch/api/actions/ism/delete_policy.rb +38 -0
  146. data/lib/opensearch/api/actions/ism/exists_policy.rb +36 -0
  147. data/lib/opensearch/api/actions/ism/explain_policy.rb +35 -0
  148. data/lib/opensearch/api/actions/ism/get_policies.rb +31 -0
  149. data/lib/opensearch/api/actions/ism/get_policy.rb +36 -0
  150. data/lib/opensearch/api/actions/ism/put_policies.rb +43 -0
  151. data/lib/opensearch/api/actions/ism/put_policy.rb +44 -0
  152. data/lib/opensearch/api/actions/ism/refresh_search_analyzers.rb +36 -0
  153. data/lib/opensearch/api/actions/ism/remove_policy.rb +36 -0
  154. data/lib/opensearch/api/actions/ism/retry_index.rb +37 -0
  155. data/lib/opensearch/api/actions/knn/delete_model.rb +38 -0
  156. data/lib/opensearch/api/actions/knn/get_model.rb +36 -0
  157. data/lib/opensearch/api/actions/knn/search_models.rb +119 -0
  158. data/lib/opensearch/api/actions/knn/stats.rb +41 -0
  159. data/lib/opensearch/api/actions/knn/train_model.rb +40 -0
  160. data/lib/opensearch/api/actions/knn/warmup.rb +36 -0
  161. data/lib/opensearch/api/actions/list/help.rb +31 -0
  162. data/lib/opensearch/api/actions/list/indices.rb +71 -0
  163. data/lib/opensearch/api/actions/list/shards.rb +63 -0
  164. data/lib/opensearch/api/actions/mget.rb +40 -70
  165. data/lib/opensearch/api/actions/ml/create_connector.rb +32 -0
  166. data/lib/opensearch/api/actions/ml/delete_agent.rb +38 -0
  167. data/lib/opensearch/api/actions/ml/delete_connector.rb +38 -0
  168. data/lib/opensearch/api/actions/ml/delete_model.rb +38 -0
  169. data/lib/opensearch/api/actions/ml/delete_model_group.rb +38 -0
  170. data/lib/opensearch/api/actions/ml/delete_task.rb +38 -0
  171. data/lib/opensearch/api/actions/ml/deploy_model.rb +36 -0
  172. data/lib/opensearch/api/actions/ml/get_model_group.rb +36 -0
  173. data/lib/opensearch/api/actions/ml/get_task.rb +36 -0
  174. data/lib/opensearch/api/actions/ml/register_agents.rb +32 -0
  175. data/lib/opensearch/api/actions/ml/register_model.rb +32 -0
  176. data/lib/opensearch/api/actions/ml/register_model_group.rb +32 -0
  177. data/lib/opensearch/api/actions/ml/search_models.rb +32 -0
  178. data/lib/opensearch/api/actions/ml/undeploy_model.rb +36 -0
  179. data/lib/opensearch/api/actions/msearch.rb +40 -91
  180. data/lib/opensearch/api/actions/msearch_template.rb +36 -75
  181. data/lib/opensearch/api/actions/mtermvectors.rb +47 -87
  182. data/lib/opensearch/api/actions/nodes/hot_threads.rb +25 -57
  183. data/lib/opensearch/api/actions/nodes/info.rb +23 -53
  184. data/lib/opensearch/api/actions/nodes/reload_secure_settings.rb +20 -47
  185. data/lib/opensearch/api/actions/nodes/stats.rb +33 -72
  186. data/lib/opensearch/api/actions/nodes/usage.rb +21 -53
  187. data/lib/opensearch/api/actions/notifications/create_config.rb +34 -0
  188. data/lib/opensearch/api/actions/notifications/delete_config.rb +38 -0
  189. data/lib/opensearch/api/actions/notifications/delete_configs.rb +42 -0
  190. data/lib/opensearch/api/actions/notifications/get_config.rb +36 -0
  191. data/lib/opensearch/api/actions/notifications/get_configs.rb +115 -0
  192. data/lib/opensearch/api/actions/notifications/list_channels.rb +31 -0
  193. data/lib/opensearch/api/actions/notifications/list_features.rb +31 -0
  194. data/lib/opensearch/api/actions/notifications/send_test.rb +36 -0
  195. data/lib/opensearch/api/actions/notifications/update_config.rb +38 -0
  196. data/lib/opensearch/api/actions/observability/create_object.rb +32 -0
  197. data/lib/opensearch/api/actions/observability/delete_object.rb +38 -0
  198. data/lib/opensearch/api/actions/observability/delete_objects.rb +40 -0
  199. data/lib/opensearch/api/actions/observability/get_localstats.rb +31 -0
  200. data/lib/opensearch/api/actions/observability/get_object.rb +36 -0
  201. data/lib/opensearch/api/actions/observability/list_objects.rb +31 -0
  202. data/lib/opensearch/api/actions/observability/update_object.rb +37 -0
  203. data/lib/opensearch/api/actions/ping.rb +17 -40
  204. data/lib/opensearch/api/actions/ppl/explain.rb +41 -0
  205. data/lib/opensearch/api/actions/ppl/get_stats.rb +38 -0
  206. data/lib/opensearch/api/actions/ppl/post_stats.rb +41 -0
  207. data/lib/opensearch/api/actions/ppl/query.rb +41 -0
  208. data/lib/opensearch/api/actions/put_script.rb +37 -64
  209. data/lib/opensearch/api/actions/query/datasource_delete.rb +38 -0
  210. data/lib/opensearch/api/actions/query/datasource_retrieve.rb +36 -0
  211. data/lib/opensearch/api/actions/query/datasources_create.rb +32 -0
  212. data/lib/opensearch/api/actions/query/datasources_list.rb +31 -0
  213. data/lib/opensearch/api/actions/query/datasources_update.rb +32 -0
  214. data/lib/opensearch/api/actions/rank_eval.rb +32 -61
  215. data/lib/opensearch/api/actions/reindex.rb +40 -61
  216. data/lib/opensearch/api/actions/reindex_rethrottle.rb +25 -46
  217. data/lib/opensearch/api/actions/remote_store/restore.rb +19 -21
  218. data/lib/opensearch/api/actions/render_search_template.rb +21 -48
  219. data/lib/opensearch/api/actions/replication/autofollow_stats.rb +31 -0
  220. data/lib/opensearch/api/actions/replication/create_replication_rule.rb +34 -0
  221. data/lib/opensearch/api/actions/replication/delete_replication_rule.rb +36 -0
  222. data/lib/opensearch/api/actions/replication/follower_stats.rb +31 -0
  223. data/lib/opensearch/api/actions/replication/leader_stats.rb +31 -0
  224. data/lib/opensearch/api/actions/replication/pause.rb +38 -0
  225. data/lib/opensearch/api/actions/replication/resume.rb +38 -0
  226. data/lib/opensearch/api/actions/replication/start.rb +38 -0
  227. data/lib/opensearch/api/actions/replication/status.rb +36 -0
  228. data/lib/opensearch/api/actions/replication/stop.rb +38 -0
  229. data/lib/opensearch/api/actions/replication/update_settings.rb +38 -0
  230. data/lib/opensearch/api/actions/rollups/delete.rb +38 -0
  231. data/lib/opensearch/api/actions/rollups/explain.rb +36 -0
  232. data/lib/opensearch/api/actions/rollups/get.rb +36 -0
  233. data/lib/opensearch/api/actions/rollups/put.rb +44 -0
  234. data/lib/opensearch/api/actions/rollups/start.rb +36 -0
  235. data/lib/opensearch/api/actions/rollups/stop.rb +36 -0
  236. data/lib/opensearch/api/actions/scripts_painless_execute.rb +19 -46
  237. data/lib/opensearch/api/actions/scroll.rb +27 -63
  238. data/lib/opensearch/api/actions/search.rb +115 -146
  239. data/lib/opensearch/api/actions/search_pipeline/delete.rb +45 -0
  240. data/lib/opensearch/api/actions/search_pipeline/get.rb +39 -0
  241. data/lib/opensearch/api/actions/search_pipeline/put.rb +45 -0
  242. data/lib/opensearch/api/actions/search_shards.rb +35 -59
  243. data/lib/opensearch/api/actions/search_template.rb +50 -80
  244. data/lib/opensearch/api/actions/security/authinfo.rb +38 -0
  245. data/lib/opensearch/api/actions/security/authtoken.rb +31 -0
  246. data/lib/opensearch/api/actions/security/change_password.rb +12 -17
  247. data/lib/opensearch/api/actions/security/config_upgrade_check.rb +31 -0
  248. data/lib/opensearch/api/actions/security/config_upgrade_perform.rb +32 -0
  249. data/lib/opensearch/api/actions/security/create_action_group.rb +15 -19
  250. data/lib/opensearch/api/actions/security/create_allowlist.rb +34 -0
  251. data/lib/opensearch/api/actions/security/create_role.rb +15 -20
  252. data/lib/opensearch/api/actions/security/create_role_mapping.rb +15 -20
  253. data/lib/opensearch/api/actions/security/create_tenant.rb +15 -19
  254. data/lib/opensearch/api/actions/security/create_update_tenancy_config.rb +34 -0
  255. data/lib/opensearch/api/actions/security/create_user.rb +15 -20
  256. data/lib/opensearch/api/actions/security/create_user_legacy.rb +38 -0
  257. data/lib/opensearch/api/actions/security/delete_action_group.rb +15 -18
  258. data/lib/opensearch/api/actions/security/delete_distinguished_name.rb +38 -0
  259. data/lib/opensearch/api/actions/security/delete_role.rb +15 -18
  260. data/lib/opensearch/api/actions/security/delete_role_mapping.rb +15 -18
  261. data/lib/opensearch/api/actions/security/delete_tenant.rb +15 -18
  262. data/lib/opensearch/api/actions/security/delete_user.rb +15 -18
  263. data/lib/opensearch/api/actions/security/delete_user_legacy.rb +38 -0
  264. data/lib/opensearch/api/actions/security/flush_cache.rb +12 -15
  265. data/lib/opensearch/api/actions/security/generate_obo_token.rb +34 -0
  266. data/lib/opensearch/api/actions/security/generate_user_token.rb +36 -0
  267. data/lib/opensearch/api/actions/security/generate_user_token_legacy.rb +36 -0
  268. data/lib/opensearch/api/actions/security/get_account_details.rb +10 -15
  269. data/lib/opensearch/api/actions/security/get_action_group.rb +13 -18
  270. data/lib/opensearch/api/actions/security/get_action_groups.rb +10 -15
  271. data/lib/opensearch/api/actions/security/get_all_certificates.rb +38 -0
  272. data/lib/opensearch/api/actions/security/get_allowlist.rb +31 -0
  273. data/lib/opensearch/api/actions/security/get_audit_configuration.rb +10 -15
  274. data/lib/opensearch/api/actions/security/get_certificates.rb +11 -16
  275. data/lib/opensearch/api/actions/security/get_configuration.rb +10 -15
  276. data/lib/opensearch/api/actions/security/get_dashboards_info.rb +31 -0
  277. data/lib/opensearch/api/actions/security/get_distinguished_name.rb +41 -0
  278. data/lib/opensearch/api/actions/security/get_distinguished_names.rb +16 -19
  279. data/lib/opensearch/api/actions/security/get_node_certificates.rb +43 -0
  280. data/lib/opensearch/api/actions/security/get_permissions_info.rb +31 -0
  281. data/lib/opensearch/api/actions/security/get_role.rb +13 -18
  282. data/lib/opensearch/api/actions/security/get_role_mapping.rb +13 -18
  283. data/lib/opensearch/api/actions/security/get_role_mappings.rb +10 -15
  284. data/lib/opensearch/api/actions/security/get_roles.rb +10 -15
  285. data/lib/opensearch/api/actions/security/get_sslinfo.rb +36 -0
  286. data/lib/opensearch/api/actions/security/get_tenancy_config.rb +31 -0
  287. data/lib/opensearch/api/actions/security/get_tenant.rb +13 -18
  288. data/lib/opensearch/api/actions/security/get_tenants.rb +10 -15
  289. data/lib/opensearch/api/actions/security/get_user.rb +13 -18
  290. data/lib/opensearch/api/actions/security/get_user_legacy.rb +36 -0
  291. data/lib/opensearch/api/actions/security/get_users.rb +10 -15
  292. data/lib/opensearch/api/actions/security/get_users_legacy.rb +31 -0
  293. data/lib/opensearch/api/actions/security/health.rb +15 -15
  294. data/lib/opensearch/api/actions/security/migrate.rb +31 -0
  295. data/lib/opensearch/api/actions/security/patch_action_group.rb +15 -19
  296. data/lib/opensearch/api/actions/security/patch_action_groups.rb +13 -16
  297. data/lib/opensearch/api/actions/security/patch_allowlist.rb +34 -0
  298. data/lib/opensearch/api/actions/security/patch_audit_configuration.rb +12 -17
  299. data/lib/opensearch/api/actions/security/patch_configuration.rb +13 -18
  300. data/lib/opensearch/api/actions/security/patch_distinguished_name.rb +37 -0
  301. data/lib/opensearch/api/actions/security/patch_distinguished_names.rb +13 -18
  302. data/lib/opensearch/api/actions/security/patch_role.rb +15 -20
  303. data/lib/opensearch/api/actions/security/patch_role_mapping.rb +15 -20
  304. data/lib/opensearch/api/actions/security/patch_role_mappings.rb +12 -17
  305. data/lib/opensearch/api/actions/security/patch_roles.rb +12 -17
  306. data/lib/opensearch/api/actions/security/patch_tenant.rb +15 -20
  307. data/lib/opensearch/api/actions/security/patch_tenants.rb +12 -17
  308. data/lib/opensearch/api/actions/security/patch_user.rb +15 -20
  309. data/lib/opensearch/api/actions/security/patch_users.rb +12 -17
  310. data/lib/opensearch/api/actions/security/post_dashboards_info.rb +31 -0
  311. data/lib/opensearch/api/actions/security/reload_http_certificates.rb +10 -15
  312. data/lib/opensearch/api/actions/security/reload_transport_certificates.rb +11 -16
  313. data/lib/opensearch/api/actions/security/tenant_info.rb +31 -0
  314. data/lib/opensearch/api/actions/security/update_audit_configuration.rb +12 -17
  315. data/lib/opensearch/api/actions/security/update_configuration.rb +13 -18
  316. data/lib/opensearch/api/actions/security/update_distinguished_name.rb +37 -0
  317. data/lib/opensearch/api/actions/security/validate.rb +36 -0
  318. data/lib/opensearch/api/actions/security/who_am_i.rb +31 -0
  319. data/lib/opensearch/api/actions/security/who_am_i_protected.rb +31 -0
  320. data/lib/opensearch/api/actions/sm/create_policy.rb +37 -0
  321. data/lib/opensearch/api/actions/sm/delete_policy.rb +38 -0
  322. data/lib/opensearch/api/actions/sm/explain_policy.rb +36 -0
  323. data/lib/opensearch/api/actions/sm/get_policies.rb +44 -0
  324. data/lib/opensearch/api/actions/sm/get_policy.rb +36 -0
  325. data/lib/opensearch/api/actions/sm/start_policy.rb +36 -0
  326. data/lib/opensearch/api/actions/sm/stop_policy.rb +36 -0
  327. data/lib/opensearch/api/actions/sm/update_policy.rb +46 -0
  328. data/lib/opensearch/api/actions/snapshot/cleanup_repository.rb +22 -45
  329. data/lib/opensearch/api/actions/snapshot/clone.rb +33 -58
  330. data/lib/opensearch/api/actions/snapshot/create.rb +29 -53
  331. data/lib/opensearch/api/actions/snapshot/create_repository.rb +25 -48
  332. data/lib/opensearch/api/actions/snapshot/delete.rb +29 -55
  333. data/lib/opensearch/api/actions/snapshot/delete_repository.rb +24 -49
  334. data/lib/opensearch/api/actions/snapshot/get.rb +29 -61
  335. data/lib/opensearch/api/actions/snapshot/get_repository.rb +21 -51
  336. data/lib/opensearch/api/actions/snapshot/restore.rb +29 -53
  337. data/lib/opensearch/api/actions/snapshot/status.rb +23 -57
  338. data/lib/opensearch/api/actions/snapshot/verify_repository.rb +22 -45
  339. data/lib/opensearch/api/actions/sql/close.rb +39 -0
  340. data/lib/opensearch/api/actions/sql/explain.rb +39 -0
  341. data/lib/opensearch/api/actions/sql/get_stats.rb +38 -0
  342. data/lib/opensearch/api/actions/sql/post_stats.rb +39 -0
  343. data/lib/opensearch/api/actions/sql/query.rb +39 -0
  344. data/lib/opensearch/api/actions/sql/settings.rb +37 -0
  345. data/lib/opensearch/api/actions/tasks/cancel.rb +22 -53
  346. data/lib/opensearch/api/actions/tasks/get.rb +21 -46
  347. data/lib/opensearch/api/actions/tasks/list.rb +25 -52
  348. data/lib/opensearch/api/actions/termvectors.rb +48 -92
  349. data/lib/opensearch/api/actions/transforms/delete.rb +38 -0
  350. data/lib/opensearch/api/actions/transforms/explain.rb +36 -0
  351. data/lib/opensearch/api/actions/transforms/get.rb +36 -0
  352. data/lib/opensearch/api/actions/transforms/preview.rb +32 -0
  353. data/lib/opensearch/api/actions/transforms/put.rb +44 -0
  354. data/lib/opensearch/api/actions/transforms/search.rb +44 -0
  355. data/lib/opensearch/api/actions/transforms/start.rb +36 -0
  356. data/lib/opensearch/api/actions/transforms/stop.rb +36 -0
  357. data/lib/opensearch/api/actions/update.rb +52 -83
  358. data/lib/opensearch/api/actions/update_by_query.rb +93 -121
  359. data/lib/opensearch/api/actions/update_by_query_rethrottle.rb +25 -46
  360. data/lib/opensearch/api/actions/wlm/create_query_group.rb +34 -0
  361. data/lib/opensearch/api/actions/wlm/delete_query_group.rb +38 -0
  362. data/lib/opensearch/api/actions/wlm/get_query_group.rb +34 -0
  363. data/lib/opensearch/api/actions/wlm/update_query_group.rb +38 -0
  364. data/lib/opensearch/api/http.rb +94 -0
  365. data/lib/opensearch/api/namespace.rb +23 -0
  366. data/lib/opensearch/api/utils.rb +41 -236
  367. data/lib/opensearch/api.rb +10 -82
  368. data/lib/opensearch/dsl/search/queries/script_score.rb +62 -0
  369. data/lib/opensearch/dsl/search.rb +2 -2
  370. data/lib/opensearch/dsl.rb +3 -3
  371. data/lib/opensearch/transport/client.rb +26 -1
  372. data/lib/opensearch/transport/transport/http/faraday.rb +3 -1
  373. data/lib/opensearch/version.rb +1 -1
  374. data/lib/opensearch.rb +106 -68
  375. data/opensearch-ruby.gemspec +1 -1
  376. data/spec/spec_helper.rb +3 -18
  377. data.tar.gz.sig +0 -0
  378. metadata +182 -67
  379. metadata.gz.sig +0 -0
  380. data/lib/opensearch/api/actions/abort_benchmark.rb +0 -49
  381. data/lib/opensearch/api/actions/benchmark.rb +0 -88
  382. data/lib/opensearch/api/actions/cat/params_registry.rb +0 -69
  383. data/lib/opensearch/api/actions/cluster/params_registry.rb +0 -69
  384. data/lib/opensearch/api/actions/dangling_indices/params_registry.rb +0 -69
  385. data/lib/opensearch/api/actions/features/get_features.rb +0 -61
  386. data/lib/opensearch/api/actions/features/params_registry.rb +0 -69
  387. data/lib/opensearch/api/actions/features/reset_features.rb +0 -55
  388. data/lib/opensearch/api/actions/http/connect.rb +0 -28
  389. data/lib/opensearch/api/actions/http/delete.rb +0 -28
  390. data/lib/opensearch/api/actions/http/get.rb +0 -28
  391. data/lib/opensearch/api/actions/http/head.rb +0 -28
  392. data/lib/opensearch/api/actions/http/options.rb +0 -28
  393. data/lib/opensearch/api/actions/http/patch.rb +0 -28
  394. data/lib/opensearch/api/actions/http/post.rb +0 -28
  395. data/lib/opensearch/api/actions/http/put.rb +0 -28
  396. data/lib/opensearch/api/actions/http/request.rb +0 -27
  397. data/lib/opensearch/api/actions/http/trace.rb +0 -28
  398. data/lib/opensearch/api/actions/indices/disk_usage.rb +0 -76
  399. data/lib/opensearch/api/actions/indices/field_usage_stats.rb +0 -74
  400. data/lib/opensearch/api/actions/indices/params_registry.rb +0 -69
  401. data/lib/opensearch/api/actions/ingest/geo_ip_stats.rb +0 -51
  402. data/lib/opensearch/api/actions/ingest/params_registry.rb +0 -69
  403. data/lib/opensearch/api/actions/nodes/params_registry.rb +0 -69
  404. data/lib/opensearch/api/actions/nodes/shutdown.rb +0 -65
  405. data/lib/opensearch/api/actions/params_registry.rb +0 -67
  406. data/lib/opensearch/api/actions/remote/info.rb +0 -45
  407. data/lib/opensearch/api/actions/security/delete_distinguished_names.rb +0 -41
  408. data/lib/opensearch/api/actions/security/update_distinguished_names.rb +0 -42
  409. data/lib/opensearch/api/actions/shutdown/delete_node.rb +0 -60
  410. data/lib/opensearch/api/actions/shutdown/get_node.rb +0 -62
  411. data/lib/opensearch/api/actions/shutdown/params_registry.rb +0 -69
  412. data/lib/opensearch/api/actions/shutdown/put_node.rb +0 -62
  413. data/lib/opensearch/api/actions/snapshot/get_features.rb +0 -61
  414. data/lib/opensearch/api/actions/snapshot/params_registry.rb +0 -69
  415. data/lib/opensearch/api/actions/snapshot/repository_analyze.rb +0 -84
  416. data/lib/opensearch/api/actions/tasks/params_registry.rb +0 -69
  417. data/lib/opensearch/api/namespace/cat.rb +0 -47
  418. data/lib/opensearch/api/namespace/cluster.rb +0 -47
  419. data/lib/opensearch/api/namespace/common.rb +0 -72
  420. data/lib/opensearch/api/namespace/dangling_indices.rb +0 -47
  421. data/lib/opensearch/api/namespace/features.rb +0 -47
  422. data/lib/opensearch/api/namespace/http.rb +0 -30
  423. data/lib/opensearch/api/namespace/indices.rb +0 -47
  424. data/lib/opensearch/api/namespace/ingest.rb +0 -47
  425. data/lib/opensearch/api/namespace/nodes.rb +0 -47
  426. data/lib/opensearch/api/namespace/remote.rb +0 -47
  427. data/lib/opensearch/api/namespace/remote_store.rb +0 -30
  428. data/lib/opensearch/api/namespace/security.rb +0 -30
  429. data/lib/opensearch/api/namespace/shutdown.rb +0 -47
  430. data/lib/opensearch/api/namespace/snapshot.rb +0 -47
  431. data/lib/opensearch/api/namespace/tasks.rb +0 -47
@@ -3,100 +3,28 @@
3
3
  # The OpenSearch Contributors require contributions made to
4
4
  # this file be licensed under the Apache-2.0 license or a
5
5
  # compatible open source license.
6
- #
7
- # Modifications Copyright OpenSearch Contributors. See
8
- # GitHub history for details.
9
- #
10
- # Licensed to Elasticsearch B.V. under one or more contributor
11
- # license agreements. See the NOTICE file distributed with
12
- # this work for additional information regarding copyright
13
- # ownership. Elasticsearch B.V. licenses this file to you under
14
- # the Apache License, Version 2.0 (the "License"); you may
15
- # not use this file except in compliance with the License.
16
- # You may obtain a copy of the License at
17
- #
18
- # http://www.apache.org/licenses/LICENSE-2.0
19
- #
20
- # Unless required by applicable law or agreed to in writing,
21
- # software distributed under the License is distributed on an
22
- # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
23
- # KIND, either express or implied. See the License for the
24
- # specific language governing permissions and limitations
25
- # under the License.
26
6
 
27
- # This code was generated from OpenSearch API Spec.
28
- # Update the code generation logic instead of modifying this file directly.
7
+ # This file is generated from the OpenSearch REST API spec.
8
+ # Do not modify it by hand. Instead, modify the generator or the spec.
29
9
 
30
10
  # frozen_string_literal: true
31
11
 
32
- require 'opensearch/api/namespace/common'
33
- require 'opensearch/api/utils'
34
- require 'opensearch/api/actions/params_registry'
35
-
36
- Dir[File.expand_path('api/actions/**/params_registry.rb', __dir__)].sort.each { |f| require f }
37
- Dir[File.expand_path('api/actions/**/*.rb', __dir__)].sort.each { |f| require f }
38
- Dir[File.expand_path('api/namespace/**/*.rb', __dir__)].sort.each { |f| require f }
39
-
40
12
  module OpenSearch
41
13
  module API
42
- DEFAULT_SERIALIZER = MultiJson
14
+ GLOBAL_QUERY_PARAMS = Set.new([
15
+ 'pretty', # Whether to pretty format the returned JSON response.
16
+ 'human', # Whether to return human readable values for statistics.
17
+ 'error_trace', # Whether to include the stack trace of returned errors.
18
+ 'source', # The URL-encoded request definition. Useful for libraries that do not accept a request body for non-POST requests.
19
+ 'filter_path' # Used to reduce the response. This parameter takes a comma-separated list of filters. It supports using wildcards to match any field or part of a field’s name. You can also exclude fields with "-".
20
+ ]).freeze
43
21
 
44
- COMMON_PARAMS = [
45
- :ignore, # Client specific parameters
46
- :index, :id, # :index/:id
47
- :body, # Request body
48
- :node_id, # Cluster
49
- :name, # Alias, template, settings, warmer, ...
50
- :field # Get field mapping
51
- ]
52
-
53
- COMMON_QUERY_PARAMS = [
54
- :ignore, # Client specific parameters
55
- :format, # Search, Cat, ...
56
- :pretty, # Pretty-print the response
57
- :human, # Return numeric values in human readable format
58
- :filter_path, # Filter the JSON response
59
- :opaque_id # Use X-Opaque-Id
60
- ]
61
-
62
- HTTP_GET = 'GET'
63
- HTTP_HEAD = 'HEAD'
64
- HTTP_PATCH = 'PATCH'
65
- HTTP_POST = 'POST'
66
- HTTP_PUT = 'PUT'
67
- HTTP_DELETE = 'DELETE'
68
-
69
- UNDERSCORE_SEARCH = '_search'
70
- UNDERSCORE_ALL = '_all'
71
- DEFAULT_DOC = '_doc'
72
-
73
- # Auto-include all namespaces in the receiver
74
- def self.included(base)
75
- base.send :include,
76
- OpenSearch::API::Common,
77
- OpenSearch::API::Actions,
78
- OpenSearch::API::Cat,
79
- OpenSearch::API::Cluster,
80
- OpenSearch::API::DanglingIndices,
81
- OpenSearch::API::Features,
82
- OpenSearch::API::Http,
83
- OpenSearch::API::Indices,
84
- OpenSearch::API::Ingest,
85
- OpenSearch::API::Nodes,
86
- OpenSearch::API::Remote,
87
- OpenSearch::API::RemoteStore,
88
- OpenSearch::API::Security,
89
- OpenSearch::API::Shutdown,
90
- OpenSearch::API::Snapshot,
91
- OpenSearch::API::Tasks
92
- end
22
+ DEFAULT_SERIALIZER = MultiJson
93
23
 
94
- # The serializer class
95
24
  def self.serializer
96
25
  settings[:serializer] || DEFAULT_SERIALIZER
97
26
  end
98
27
 
99
- # Access the module settings
100
28
  def self.settings
101
29
  @settings ||= {}
102
30
  end
@@ -0,0 +1,62 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ #
3
+ # The OpenSearch Contributors require contributions made to
4
+ # this file be licensed under the Apache-2.0 license or a
5
+ # compatible open source license.
6
+
7
+ module OpenSearch
8
+ module DSL
9
+ module Search
10
+ module Queries
11
+ # A query which wraps another query and returns a customized score for matching documents
12
+ #
13
+ # @example
14
+ #
15
+ # search do
16
+ # query do
17
+ # script_score do
18
+ # query do
19
+ # match content: 'Twitter'
20
+ # end
21
+ #
22
+ # script source: "_score * params['multiplier']",
23
+ # params: { multiplier: 2.0 }
24
+ # end
25
+ # end
26
+ # end
27
+ #
28
+ # @see https://opensearch.org/docs/latest/query-dsl/specialized/script-score/
29
+ #
30
+ class ScriptScore
31
+ include BaseComponent
32
+
33
+ option_method :script
34
+ option_method :min_score
35
+ option_method :boost
36
+
37
+ # DSL method for building the `query` part of the query definition
38
+ #
39
+ # @return [self]
40
+ #
41
+ def query(*args, &block)
42
+ @query = block ? @query = Query.new(*args, &block) : args.first
43
+ self
44
+ end
45
+
46
+ # Converts the query definition to a Hash
47
+ #
48
+ # @return [Hash]
49
+ #
50
+ def to_hash
51
+ hash = super
52
+ if @query
53
+ _query = @query.respond_to?(:to_hash) ? @query.to_hash : @query
54
+ hash[name].update(query: _query)
55
+ end
56
+ hash
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
@@ -51,8 +51,8 @@ module OpenSearch
51
51
  # # => {:query=>{:match=>{:title=>"test"}}}
52
52
  #
53
53
  #
54
- def search(*args, &block)
55
- Search.new(*args, &block)
54
+ def search(...)
55
+ Search.new(...)
56
56
  end
57
57
 
58
58
  extend self
@@ -36,9 +36,9 @@ require 'opensearch/dsl/search/sort'
36
36
  require 'opensearch/dsl/search/options'
37
37
  require 'opensearch/dsl/search/suggest'
38
38
 
39
- Dir[File.expand_path('dsl/search/queries/**/*.rb', __dir__)].sort.each { |f| require f }
40
- Dir[File.expand_path('dsl/search/filters/**/*.rb', __dir__)].sort.each { |f| require f }
41
- Dir[File.expand_path('dsl/search/aggregations/**/*.rb', __dir__)].sort.each { |f| require f }
39
+ Dir[File.expand_path('dsl/search/queries/**/*.rb', __dir__)].each { |f| require f }
40
+ Dir[File.expand_path('dsl/search/filters/**/*.rb', __dir__)].each { |f| require f }
41
+ Dir[File.expand_path('dsl/search/aggregations/**/*.rb', __dir__)].each { |f| require f }
42
42
 
43
43
  require 'opensearch/dsl/search'
44
44
 
@@ -180,7 +180,6 @@ module OpenSearch
180
180
  end
181
181
 
182
182
  # Performs a request through delegation to {#transport}.
183
- #
184
183
  def perform_request(method, path, params = {}, body = nil, headers = nil)
185
184
  method = @send_get_body_as if method == 'GET' && body
186
185
  if (opaque_id = params.delete(:opaque_id))
@@ -191,6 +190,32 @@ module OpenSearch
191
190
  transport.perform_request(method, path, params, body, headers)
192
191
  end
193
192
 
193
+ def perform_ping_request(*args)
194
+ perform_request(*args).status == 200
195
+ rescue StandardError => e
196
+ return false if e.class.to_s =~ /NotFound|ConnectionFailed/
197
+ return false if e.message =~ /Not *Found|404|ConnectionFailed/i
198
+ raise e
199
+ end
200
+
201
+ def perform_head_request(*args)
202
+ perform_request(*args).status == 200
203
+ rescue StandardError => e
204
+ return false if e.class.to_s =~ /NotFound/
205
+ return false if e.message =~ /Not\s*Found/i
206
+ raise e
207
+ end
208
+
209
+ def perform_delete_request(*args, ignore404)
210
+ perform_request(*args).body
211
+ rescue StandardError => e
212
+ if ignore404
213
+ return false if e.class.to_s =~ /NotFound/
214
+ return false if e.message =~ /Not\s*Found/i
215
+ end
216
+ raise e
217
+ end
218
+
194
219
  private
195
220
 
196
221
  def set_api_key
@@ -24,6 +24,8 @@
24
24
  # specific language governing permissions and limitations
25
25
  # under the License.
26
26
 
27
+ require 'opensearch/version'
28
+
27
29
  module OpenSearch
28
30
  module Transport
29
31
  module Transport
@@ -91,7 +93,7 @@ module OpenSearch
91
93
  meta << "#{RbConfig::CONFIG['host_os'].split('_').first[/[a-z]+/i].downcase} #{RbConfig::CONFIG['target_cpu']}"
92
94
  end
93
95
  meta << client.headers[USER_AGENT_STR].to_s
94
- "opensearch-ruby/#{VERSION} (#{meta.join('; ')})"
96
+ "opensearch-ruby/#{OpenSearch::VERSION} (#{meta.join('; ')})"
95
97
  end
96
98
  end
97
99
  end
@@ -25,5 +25,5 @@
25
25
  # under the License.
26
26
 
27
27
  module OpenSearch
28
- VERSION = '3.3.0'.freeze
28
+ VERSION = '4.0.0-beta.1'.freeze
29
29
  end
data/lib/opensearch.rb CHANGED
@@ -3,99 +3,137 @@
3
3
  # The OpenSearch Contributors require contributions made to
4
4
  # this file be licensed under the Apache-2.0 license or a
5
5
  # compatible open source license.
6
- #
7
- # Modifications Copyright OpenSearch Contributors. See
8
- # GitHub history for details.
9
- #
10
- # Licensed to Elasticsearch B.V. under one or more contributor
11
- # license agreements. See the NOTICE file distributed with
12
- # this work for additional information regarding copyright
13
- # ownership. Elasticsearch B.V. licenses this file to you under
14
- # the Apache License, Version 2.0 (the "License"); you may
15
- # not use this file except in compliance with the License.
16
- # You may obtain a copy of the License at
17
- #
18
- # http://www.apache.org/licenses/LICENSE-2.0
19
- #
20
- # Unless required by applicable law or agreed to in writing,
21
- # software distributed under the License is distributed on an
22
- # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
23
- # KIND, either express or implied. See the License for the
24
- # specific language governing permissions and limitations
25
- # under the License.
26
-
27
- require 'opensearch/version'
6
+
7
+ # This file is generated from the OpenSearch REST API spec.
8
+ # Do not modify it by hand. Instead, modify the generator or the spec.
9
+
28
10
  require 'opensearch/transport'
29
11
  require 'opensearch/api'
12
+ Dir[File.expand_path('opensearch/api/**/*.rb', __dir__)].each { |f| require f }
30
13
 
31
14
  module OpenSearch
32
- SECURITY_PRIVILEGES_VALIDATION_WARNING = 'The client is unable to verify distribution due to security privileges on the server side. Some functionality may not be compatible if the server is running an unsupported product.'.freeze
33
- NOT_SUPPORTED_WARNING = 'The client is not supported for the provided version and distribution combination.'.freeze
34
-
35
15
  class Client
36
- include OpenSearch::API
16
+ include OpenSearch::API::Root::Actions
37
17
  attr_accessor :transport
38
18
 
39
- # See OpenSearch::Transport::Client for initializer parameters
40
19
  def initialize(arguments = {}, &block)
41
- @verified = false
42
20
  @transport = OpenSearch::Transport::Client.new(arguments, &block)
43
21
  end
44
22
 
45
- def method_missing(name, *args, &block)
46
- return super unless name == :perform_request
47
- verify_open_search unless @verified
48
- @transport.perform_request(*args, &block)
23
+ def asynchronous_search
24
+ @asynchronous_search ||= OpenSearch::API::Namespace.new(transport, OpenSearch::API::AsynchronousSearch::Actions)
49
25
  end
50
26
 
51
- def respond_to_missing?(method_name, include_private = false)
52
- method_name == :perform_request || super
27
+ def cat
28
+ @cat ||= OpenSearch::API::Namespace.new(transport, OpenSearch::API::Cat::Actions)
53
29
  end
54
30
 
55
- private
31
+ def cluster
32
+ @cluster ||= OpenSearch::API::Namespace.new(transport, OpenSearch::API::Cluster::Actions)
33
+ end
56
34
 
57
- def verify_open_search
58
- begin
59
- response = open_search_validation_request
60
- rescue OpenSearch::Transport::Transport::Errors::Unauthorized,
61
- OpenSearch::Transport::Transport::Errors::Forbidden
62
- @verified = true
63
- warn(SECURITY_PRIVILEGES_VALIDATION_WARNING)
64
- return
65
- end
35
+ def dangling_indices
36
+ @dangling_indices ||= OpenSearch::API::Namespace.new(transport, OpenSearch::API::DanglingIndices::Actions)
37
+ end
66
38
 
67
- body = if response.headers['content-type'] == 'application/yaml'
68
- require 'yaml'
69
- YAML.safe_load(response.body)
70
- else
71
- response.body
72
- end
73
- version = body.dig('version', 'number')
74
- distribution = body.dig('version', 'distribution')
75
- verify_version_and_distribution(version, distribution)
39
+ def flow_framework
40
+ @flow_framework ||= OpenSearch::API::Namespace.new(transport, OpenSearch::API::FlowFramework::Actions)
76
41
  end
77
42
 
78
- def verify_version_and_distribution(version, distribution)
79
- raise OpenSearch::UnsupportedProductError if version.nil?
43
+ def indices
44
+ @indices ||= OpenSearch::API::Namespace.new(transport, OpenSearch::API::Indices::Actions)
45
+ end
80
46
 
81
- # The client supports all the versions of OpenSearch
82
- if distribution != 'opensearch' &&
83
- (Gem::Version.new(version) < Gem::Version.new('6.0.0') ||
84
- Gem::Version.new(version) >= Gem::Version.new('8.0.0'))
85
- raise OpenSearch::UnsupportedProductError
86
- end
47
+ def ingest
48
+ @ingest ||= OpenSearch::API::Namespace.new(transport, OpenSearch::API::Ingest::Actions)
49
+ end
87
50
 
88
- @verified = true
51
+ def insights
52
+ @insights ||= OpenSearch::API::Namespace.new(transport, OpenSearch::API::Insights::Actions)
89
53
  end
90
54
 
91
- def open_search_validation_request
92
- @transport.perform_request('GET', '/')
55
+ def ism
56
+ @ism ||= OpenSearch::API::Namespace.new(transport, OpenSearch::API::Ism::Actions)
57
+ end
58
+
59
+ def knn
60
+ @knn ||= OpenSearch::API::Namespace.new(transport, OpenSearch::API::Knn::Actions)
61
+ end
62
+
63
+ def list
64
+ @list ||= OpenSearch::API::Namespace.new(transport, OpenSearch::API::List::Actions)
65
+ end
66
+
67
+ def ml
68
+ @ml ||= OpenSearch::API::Namespace.new(transport, OpenSearch::API::Ml::Actions)
69
+ end
70
+
71
+ def nodes
72
+ @nodes ||= OpenSearch::API::Namespace.new(transport, OpenSearch::API::Nodes::Actions)
73
+ end
74
+
75
+ def notifications
76
+ @notifications ||= OpenSearch::API::Namespace.new(transport, OpenSearch::API::Notifications::Actions)
77
+ end
78
+
79
+ def observability
80
+ @observability ||= OpenSearch::API::Namespace.new(transport, OpenSearch::API::Observability::Actions)
81
+ end
82
+
83
+ def ppl
84
+ @ppl ||= OpenSearch::API::Namespace.new(transport, OpenSearch::API::Ppl::Actions)
85
+ end
86
+
87
+ def query
88
+ @query ||= OpenSearch::API::Namespace.new(transport, OpenSearch::API::Query::Actions)
89
+ end
90
+
91
+ def remote_store
92
+ @remote_store ||= OpenSearch::API::Namespace.new(transport, OpenSearch::API::RemoteStore::Actions)
93
+ end
94
+
95
+ def replication
96
+ @replication ||= OpenSearch::API::Namespace.new(transport, OpenSearch::API::Replication::Actions)
97
+ end
98
+
99
+ def rollups
100
+ @rollups ||= OpenSearch::API::Namespace.new(transport, OpenSearch::API::Rollups::Actions)
101
+ end
102
+
103
+ def search_pipeline
104
+ @search_pipeline ||= OpenSearch::API::Namespace.new(transport, OpenSearch::API::SearchPipeline::Actions)
105
+ end
106
+
107
+ def security
108
+ @security ||= OpenSearch::API::Namespace.new(transport, OpenSearch::API::Security::Actions)
109
+ end
110
+
111
+ def sm
112
+ @sm ||= OpenSearch::API::Namespace.new(transport, OpenSearch::API::Sm::Actions)
113
+ end
114
+
115
+ def snapshot
116
+ @snapshot ||= OpenSearch::API::Namespace.new(transport, OpenSearch::API::Snapshot::Actions)
117
+ end
118
+
119
+ def sql
120
+ @sql ||= OpenSearch::API::Namespace.new(transport, OpenSearch::API::Sql::Actions)
121
+ end
122
+
123
+ def tasks
124
+ @tasks ||= OpenSearch::API::Namespace.new(transport, OpenSearch::API::Tasks::Actions)
125
+ end
126
+
127
+ def transforms
128
+ @transforms ||= OpenSearch::API::Namespace.new(transport, OpenSearch::API::Transforms::Actions)
129
+ end
130
+
131
+ def wlm
132
+ @wlm ||= OpenSearch::API::Namespace.new(transport, OpenSearch::API::Wlm::Actions)
93
133
  end
94
- end
95
134
 
96
- class UnsupportedProductError < StandardError
97
- def initialize(message = NOT_SUPPORTED_WARNING)
98
- super(message)
135
+ def http
136
+ @http ||= OpenSearch::API::Namespace.new(transport, OpenSearch::API::Http::Actions)
99
137
  end
100
138
  end
101
139
  end
@@ -62,7 +62,7 @@ Gem::Specification.new do |s|
62
62
  s.cert_chain = ['.github/opensearch-rubygems.pem']
63
63
  end
64
64
 
65
- s.required_ruby_version = '>= 2.5'
65
+ s.required_ruby_version = '>= 3.0'
66
66
 
67
67
  s.add_dependency 'faraday', '>= 1.0', '< 3'
68
68
  s.add_dependency 'multi_json', '>= 1.0'
data/spec/spec_helper.rb CHANGED
@@ -29,6 +29,7 @@ if ENV.fetch('COVERAGE', nil) && ENV['CI'].nil?
29
29
  SimpleCov.start { add_filter %r{^/test|spec/} }
30
30
  end
31
31
 
32
+ require 'active_support'
32
33
  require 'ansi'
33
34
  require 'opensearch'
34
35
  require 'opensearch-dsl'
@@ -58,7 +59,7 @@ tracer.formatter = ->(_s, _d, _p, m) { "#{m.gsub(/^.*$/) { |n| ' ' + n }.ansi(
58
59
  unless defined?(OPENSEARCH_URL)
59
60
  OPENSEARCH_URL = ENV.fetch('OPENSEARCH_URL', nil) ||
60
61
  ENV.fetch('TEST_OPENSEARCH_SERVER', nil) ||
61
- "http://localhost:#{ENV.fetch('TEST_CLUSTER_PORT', nil) || 9200}"
62
+ "https://admin:myStrongPassword123!@localhost:#{ENV.fetch('TEST_CLUSTER_PORT', nil) || 9200}"
62
63
  end
63
64
 
64
65
  DEFAULT_CLIENT = OpenSearch::Client.new(host: OPENSEARCH_URL,
@@ -83,7 +84,7 @@ end
83
84
  # The names of the connected nodes.
84
85
  # @return [ Array<String> ] The node names.
85
86
  def node_names
86
- node_stats = default_client.perform_request('GET', '_nodes/stats').body
87
+ node_stats = default_client.transport.perform_request('GET', '_nodes/stats').body
87
88
  $node_names ||= node_stats['nodes'].collect do |name, stats|
88
89
  stats['name']
89
90
  end
@@ -99,22 +100,6 @@ class NotFound < StandardError; end
99
100
 
100
101
  module HelperModule
101
102
  def self.included(context)
102
- context.let(:client_double) do
103
- Class.new { include OpenSearch::API }.new.tap do |client|
104
- expect(client).to receive(:perform_request).with(*expected_args).and_return(response_double)
105
- end
106
- end
107
-
108
- context.let(:client) do
109
- Class.new { include OpenSearch::API }.new.tap do |client|
110
- expect(client).to receive(:perform_request).with(*expected_args).and_return(response_double)
111
- end
112
- end
113
-
114
- context.let(:response_double) do
115
- double('response', status: 200, body: {}, headers: {})
116
- end
117
-
118
103
  context.let(:hosts) { OPENSEARCH_HOSTS }
119
104
  end
120
105
  end
data.tar.gz.sig CHANGED
Binary file