opensearch-ruby 3.4.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 (430) 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.rb +2 -2
  369. data/lib/opensearch/dsl.rb +3 -3
  370. data/lib/opensearch/transport/client.rb +26 -1
  371. data/lib/opensearch/transport/transport/http/faraday.rb +3 -1
  372. data/lib/opensearch/version.rb +1 -1
  373. data/lib/opensearch.rb +106 -68
  374. data/opensearch-ruby.gemspec +1 -1
  375. data/spec/spec_helper.rb +3 -18
  376. data.tar.gz.sig +0 -0
  377. metadata +181 -67
  378. metadata.gz.sig +0 -0
  379. data/lib/opensearch/api/actions/abort_benchmark.rb +0 -49
  380. data/lib/opensearch/api/actions/benchmark.rb +0 -88
  381. data/lib/opensearch/api/actions/cat/params_registry.rb +0 -69
  382. data/lib/opensearch/api/actions/cluster/params_registry.rb +0 -69
  383. data/lib/opensearch/api/actions/dangling_indices/params_registry.rb +0 -69
  384. data/lib/opensearch/api/actions/features/get_features.rb +0 -61
  385. data/lib/opensearch/api/actions/features/params_registry.rb +0 -69
  386. data/lib/opensearch/api/actions/features/reset_features.rb +0 -55
  387. data/lib/opensearch/api/actions/http/connect.rb +0 -28
  388. data/lib/opensearch/api/actions/http/delete.rb +0 -28
  389. data/lib/opensearch/api/actions/http/get.rb +0 -28
  390. data/lib/opensearch/api/actions/http/head.rb +0 -28
  391. data/lib/opensearch/api/actions/http/options.rb +0 -28
  392. data/lib/opensearch/api/actions/http/patch.rb +0 -28
  393. data/lib/opensearch/api/actions/http/post.rb +0 -28
  394. data/lib/opensearch/api/actions/http/put.rb +0 -28
  395. data/lib/opensearch/api/actions/http/request.rb +0 -27
  396. data/lib/opensearch/api/actions/http/trace.rb +0 -28
  397. data/lib/opensearch/api/actions/indices/disk_usage.rb +0 -76
  398. data/lib/opensearch/api/actions/indices/field_usage_stats.rb +0 -74
  399. data/lib/opensearch/api/actions/indices/params_registry.rb +0 -69
  400. data/lib/opensearch/api/actions/ingest/geo_ip_stats.rb +0 -51
  401. data/lib/opensearch/api/actions/ingest/params_registry.rb +0 -69
  402. data/lib/opensearch/api/actions/nodes/params_registry.rb +0 -69
  403. data/lib/opensearch/api/actions/nodes/shutdown.rb +0 -65
  404. data/lib/opensearch/api/actions/params_registry.rb +0 -67
  405. data/lib/opensearch/api/actions/remote/info.rb +0 -45
  406. data/lib/opensearch/api/actions/security/delete_distinguished_names.rb +0 -41
  407. data/lib/opensearch/api/actions/security/update_distinguished_names.rb +0 -42
  408. data/lib/opensearch/api/actions/shutdown/delete_node.rb +0 -60
  409. data/lib/opensearch/api/actions/shutdown/get_node.rb +0 -62
  410. data/lib/opensearch/api/actions/shutdown/params_registry.rb +0 -69
  411. data/lib/opensearch/api/actions/shutdown/put_node.rb +0 -62
  412. data/lib/opensearch/api/actions/snapshot/get_features.rb +0 -61
  413. data/lib/opensearch/api/actions/snapshot/params_registry.rb +0 -69
  414. data/lib/opensearch/api/actions/snapshot/repository_analyze.rb +0 -84
  415. data/lib/opensearch/api/actions/tasks/params_registry.rb +0 -69
  416. data/lib/opensearch/api/namespace/cat.rb +0 -47
  417. data/lib/opensearch/api/namespace/cluster.rb +0 -47
  418. data/lib/opensearch/api/namespace/common.rb +0 -72
  419. data/lib/opensearch/api/namespace/dangling_indices.rb +0 -47
  420. data/lib/opensearch/api/namespace/features.rb +0 -47
  421. data/lib/opensearch/api/namespace/http.rb +0 -30
  422. data/lib/opensearch/api/namespace/indices.rb +0 -47
  423. data/lib/opensearch/api/namespace/ingest.rb +0 -47
  424. data/lib/opensearch/api/namespace/nodes.rb +0 -47
  425. data/lib/opensearch/api/namespace/remote.rb +0 -47
  426. data/lib/opensearch/api/namespace/remote_store.rb +0 -30
  427. data/lib/opensearch/api/namespace/security.rb +0 -30
  428. data/lib/opensearch/api/namespace/shutdown.rb +0 -47
  429. data/lib/opensearch/api/namespace/snapshot.rb +0 -47
  430. data/lib/opensearch/api/namespace/tasks.rb +0 -47
@@ -3,60 +3,39 @@
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.
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
+
10
+ # frozen_string_literal: true
26
11
 
27
12
  module OpenSearch
28
13
  module API
29
- module Actions
30
- # Changes the number of requests per second for a particular Update By Query operation.
31
- #
32
- # @option arguments [String] :task_id The task id to rethrottle
33
- # @option arguments [Number] :requests_per_second The throttle to set on this request in floating sub-requests per second. -1 means set no throttle. (*Required*)
34
- # @option arguments [Hash] :headers Custom HTTP headers
35
- #
36
- #
37
- def update_by_query_rethrottle(arguments = {})
38
- raise ArgumentError, "Required argument 'task_id' missing" unless arguments[:task_id]
14
+ module Root
15
+ module Actions
16
+ # Changes the number of requests per second for a particular Update By Query operation.
17
+ #
18
+ # @option args [String] :task_id *Required* The ID for the task.
19
+ # @option args [Float] :requests_per_second The throttle for this request in sub-requests per second.
20
+ def update_by_query_rethrottle(args = {})
21
+ args = Utils.clone_and_normalize_arguments(args)
22
+ raise ArgumentError, "Required argument 'task_id' missing" if args['task_id'].nil?
39
23
 
40
- headers = arguments.delete(:headers) || {}
24
+ _task_id = args.delete('task_id')
41
25
 
42
- arguments = arguments.clone
26
+ headers = args.delete('headers') || {}
27
+ body = args.delete('body')
28
+ method = 'POST'
29
+ url = Utils.build_url('_update_by_query', _task_id, '_rethrottle')
43
30
 
44
- _task_id = arguments.delete(:task_id)
31
+ Utils.validate_query_params! args, UPDATE_BY_QUERY_RETHROTTLE_QUERY_PARAMS
32
+ transport.perform_request(method, url, args, body, headers).body
33
+ end
45
34
 
46
- method = OpenSearch::API::HTTP_POST
47
- path = "_update_by_query/#{Utils.__listify(_task_id)}/_rethrottle"
48
- params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
49
-
50
- body = nil
51
- perform_request(method, path, params, body, headers).body
35
+ UPDATE_BY_QUERY_RETHROTTLE_QUERY_PARAMS = Set.new(%w[
36
+ requests_per_second
37
+ ]).freeze
52
38
  end
53
-
54
- # Register this action with its valid params when the module is loaded.
55
- #
56
- # @since 6.2.0
57
- ParamsRegistry.register(:update_by_query_rethrottle, [
58
- :requests_per_second
59
- ].freeze)
60
39
  end
61
40
  end
62
41
  end
@@ -0,0 +1,34 @@
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
+ # 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
+
10
+ # frozen_string_literal: true
11
+
12
+ module OpenSearch
13
+ module API
14
+ module Wlm
15
+ module Actions
16
+ # Creates a new query group and sets the resource limits for the new query group.
17
+ #
18
+ # @option args [Hash] :body *Required*
19
+ def create_query_group(args = {})
20
+ args = Utils.clone_and_normalize_arguments(args)
21
+ raise ArgumentError, "Required argument 'body' missing" if args['body'].nil?
22
+
23
+ headers = args.delete('headers') || {}
24
+ body = args.delete('body')
25
+ method = 'PUT'
26
+ url = '_wlm/query_group'
27
+
28
+ Utils.validate_query_params! args
29
+ transport.perform_request(method, url, args, body, headers).body
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,38 @@
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
+ # 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
+
10
+ # frozen_string_literal: true
11
+
12
+ module OpenSearch
13
+ module API
14
+ module Wlm
15
+ module Actions
16
+ # Deletes the specified query group.
17
+ #
18
+ # @option args [String] :name *Required* The name of the query group.
19
+ # @option args [List] :ignore set to [404] to ignore server's NOT FOUND error for this request
20
+ def delete_query_group(args = {})
21
+ args = Utils.clone_and_normalize_arguments(args)
22
+ raise ArgumentError, "Required argument 'name' missing" if args['name'].nil?
23
+
24
+ _name = args.delete('name')
25
+
26
+ ignore = args.delete('ignore') || []
27
+ headers = args.delete('headers') || {}
28
+ body = args.delete('body')
29
+ method = 'DELETE'
30
+ url = Utils.build_url('_wlm/query_group', _name)
31
+
32
+ Utils.validate_query_params! args
33
+ transport.perform_delete_request method, url, args, body, headers, ignore.include?(404)
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,34 @@
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
+ # 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
+
10
+ # frozen_string_literal: true
11
+
12
+ module OpenSearch
13
+ module API
14
+ module Wlm
15
+ module Actions
16
+ # Retrieves the specified query group. If no query group is specified, all query groups in the cluster are retrieved.
17
+ #
18
+ # @option args [String] :name The name of the query group.
19
+ def get_query_group(args = {})
20
+ args = Utils.clone_and_normalize_arguments(args)
21
+ _name = args.delete('name')
22
+
23
+ headers = args.delete('headers') || {}
24
+ body = args.delete('body')
25
+ method = 'GET'
26
+ url = Utils.build_url('_wlm/query_group', _name)
27
+
28
+ Utils.validate_query_params! args
29
+ transport.perform_request(method, url, args, body, headers).body
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,38 @@
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
+ # 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
+
10
+ # frozen_string_literal: true
11
+
12
+ module OpenSearch
13
+ module API
14
+ module Wlm
15
+ module Actions
16
+ # Updates the specified query group.
17
+ #
18
+ # @option args [String] :name *Required* The name of the query group.
19
+ # @option args [Hash] :body *Required*
20
+ def update_query_group(args = {})
21
+ args = Utils.clone_and_normalize_arguments(args)
22
+ raise ArgumentError, "Required argument 'name' missing" if args['name'].nil?
23
+ raise ArgumentError, "Required argument 'body' missing" if args['body'].nil?
24
+
25
+ _name = args.delete('name')
26
+
27
+ headers = args.delete('headers') || {}
28
+ body = args.delete('body')
29
+ method = 'PUT'
30
+ url = Utils.build_url('_wlm/query_group', _name)
31
+
32
+ Utils.validate_query_params! args
33
+ transport.perform_request(method, url, args, body, headers).body
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,94 @@
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
+ # frozen_string_literal: true
8
+
9
+ module OpenSearch
10
+ module API
11
+ module Http
12
+ module Actions
13
+ # Make a customized CONNECT request.
14
+ #
15
+ # @option arguments [String] :url Relative path to the endpoint (e.g. 'cat/indices/books,movies') (*Required*)
16
+ # @option arguments [Hash] :params Querystring parameters to be appended to the path
17
+ # @option arguments [Hash] :headers Custom HTTP headers
18
+ # @option arguments [String | Hash | Array<Hash>] :body The body of the request
19
+ def connect(url, headers: {}, body: nil, params: {})
20
+ request('CONNECT', url, headers: headers, body: body, params: params)
21
+ end
22
+
23
+ # Make a customized DELETE request.
24
+ #
25
+ # @option arguments [String] :url Relative path to the endpoint (e.g. 'cat/indices/books,movies') (*Required*)
26
+ # @option arguments [Hash] :params Querystring parameters to be appended to the path
27
+ # @option arguments [Hash] :headers Custom HTTP headers
28
+ # @option arguments [String | Hash | Array<Hash>] :body The body of the request
29
+ def delete(url, headers: {}, body: nil, params: {})
30
+ request('DELETE', url, headers: headers, body: body, params: params)
31
+ end
32
+
33
+ # Make a customized GET request.
34
+ #
35
+ # @option arguments [String] :url Relative path to the endpoint (e.g. 'cat/indices/books,movies') (*Required*)
36
+ # @option arguments [Hash] :params Querystring parameters to be appended to the path
37
+ # @option arguments [Hash] :headers Custom HTTP headers
38
+ # @option arguments [String | Hash | Array<Hash>] :body The body of the request
39
+ def get(url, headers: {}, body: nil, params: {})
40
+ request('GET', url, headers: headers, body: body, params: params)
41
+ end
42
+
43
+ # Make a customized HEAD request.
44
+ #
45
+ # @option arguments [String] :url Relative path to the endpoint (e.g. 'cat/indices/books,movies') (*Required*)
46
+ # @option arguments [Hash] :params Querystring parameters to be appended to the path
47
+ # @option arguments [Hash] :headers Custom HTTP headers
48
+ # @option arguments [String | Hash | Array<Hash>] :body The body of the request
49
+ def head(url, headers: {}, body: nil, params: {})
50
+ request('HEAD', url, headers: headers, body: body, params: params)
51
+ end
52
+
53
+ # Make a customized OPTIONS request.
54
+ #
55
+ # @option arguments [String] :url Relative path to the endpoint (e.g. 'cat/indices/books,movies') (*Required*)
56
+ # @option arguments [Hash] :params Querystring parameters to be appended to the path
57
+ # @option arguments [Hash] :headers Custom HTTP headers
58
+ # @option arguments [String | Hash | Array<Hash>] :body The body of the request
59
+ def options(url, headers: {}, body: nil, params: {})
60
+ request('OPTIONS', url, headers: headers, body: body, params: params)
61
+ end
62
+
63
+ # Make a customized POST request.
64
+ #
65
+ # @option arguments [String] :url Relative path to the endpoint (e.g. 'cat/indices/books,movies') (*Required*)
66
+ # @option arguments [Hash] :params Querystring parameters to be appended to the path
67
+ # @option arguments [Hash] :headers Custom HTTP headers
68
+ # @option arguments [String | Hash | Array<Hash>] :body The body of the request
69
+ def post(url, headers: {}, body: nil, params: {})
70
+ request('POST', url, headers: headers, body: body, params: params)
71
+ end
72
+
73
+ # Make a customized PUT request.
74
+ #
75
+ # @option arguments [String] :url Relative path to the endpoint (e.g. 'cat/indices/books,movies') (*Required*)
76
+ # @option arguments [Hash] :params Querystring parameters to be appended to the path
77
+ # @option arguments [Hash] :headers Custom HTTP headers
78
+ # @option arguments [String | Hash | Array<Hash>] :body The body of the request
79
+ def put(url, headers: {}, body: nil, params: {})
80
+ request('PUT', url, headers: headers, body: body, params: params)
81
+ end
82
+
83
+ private
84
+
85
+ def request(method, url, headers: {}, body: nil, params: {})
86
+ body = OpenSearch::API::Utils.bulkify(body) if body.is_a?(Array)
87
+ headers.merge!('Content-Type' => 'application/x-ndjson') if body.is_a?(Array)
88
+
89
+ transport.perform_request(method, url, params, body, headers).body
90
+ end
91
+ end
92
+ end
93
+ end
94
+ end
@@ -0,0 +1,23 @@
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
+ # frozen_string_literal: true
8
+
9
+ module OpenSearch
10
+ module API
11
+ # A child-client housing all the actions for a specific namespace
12
+ class Namespace
13
+ attr_reader :transport
14
+
15
+ # @param [OpenSearch::Transport::Client] transport
16
+ # @param [Module] ns_actions the module containing the API actions for this namespace
17
+ def initialize(transport, ns_actions)
18
+ @transport = transport
19
+ send :extend, ns_actions
20
+ end
21
+ end
22
+ end
23
+ end
@@ -3,96 +3,56 @@
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.
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
+
10
+ # frozen_string_literal: true
11
+
12
+ require 'cgi'
26
13
 
27
14
  module OpenSearch
28
15
  module API
29
- # Generic utility methods
30
- #
31
16
  module Utils
32
- # URL-escape a string
33
- #
34
- # @example
35
- # __escape('foo/bar') # => 'foo%2Fbar'
36
- # __escape('bar^bam') # => 'bar%5Ebam'
37
- #
38
- # @api private
39
- def __escape(string)
40
- return string if string == '*'
41
-
42
- CGI.escape(string.to_s)
17
+ NON_URL_ARGS = Set.new(%w[body headers ignore]).freeze
18
+ BULK_OPERATIONS = Set.new(%w[index create delete update]).freeze
19
+
20
+ # @return a new hash with all keys converted to strings and url param values escaped
21
+ # @param [Hash] args
22
+ def self.clone_and_normalize_arguments(args)
23
+ args.each_with_object({}) do |(k, v), acc|
24
+ k = k.to_s
25
+ acc[k] = NON_URL_ARGS.include?(k) ? v : normalize_value(v)
26
+ end
43
27
  end
44
28
 
45
- # Create a "list" of values from arguments, ignoring nil values and encoding special characters.
46
- #
47
- # @example Create a list from array
48
- # __listify(['A','B']) # => 'A,B'
49
- #
50
- # @example Create a list from arguments
51
- # __listify('A','B') # => 'A,B'
52
- #
53
- # @example Escape values
54
- # __listify('foo','bar^bam') # => 'foo,bar%5Ebam'
55
- #
56
- # @example Do not escape the values
57
- # __listify('foo','bar^bam', escape: false) # => 'foo,bar^bam'
58
- #
59
- # @api private
60
- def __listify(*list)
61
- options = list.last.is_a?(Hash) ? list.pop : {}
29
+ # @param [Hash] params the query params to validate
30
+ # @param [Set<String>] valid_param_names the list of valid params names for the api method
31
+ def self.validate_query_params!(params, valid_param_names = nil)
32
+ return if OpenSearch::API.settings[:skip_parameter_validation]
33
+ params.each_key do |k|
34
+ next if valid_param_names&.include?(k)
35
+ next if GLOBAL_QUERY_PARAMS.include?(k)
36
+ raise ArgumentError, "URL parameter '#{k}' is not supported"
37
+ end
38
+ end
62
39
 
63
- escape = options[:escape]
64
- Array(list)
65
- .flat_map { |e| e.respond_to?(:split) ? e.split(',') : e }
66
- .flatten
67
- .compact
68
- .map { |e| escape == false ? e : __escape(e) }
69
- .join(',')
40
+ # @return the value escaped for URL unless it is a Hash
41
+ def self.normalize_value(value)
42
+ return value.clone if value.is_a? Hash
43
+ value = value.to_s.strip unless value.is_a? Enumerable
44
+ value = value.split(',') if value.is_a? String
45
+ value.map { |v| CGI.escape(v.to_s) }.join(',')
70
46
  end
71
47
 
72
- # Create a path (URL part) from arguments, ignoring nil values and empty strings.
73
- #
74
- # @example Create a path from array
75
- # __pathify(['foo', '', nil, 'bar']) # => 'foo/bar'
76
- #
77
- # @example Create a path from arguments
78
- # __pathify('foo', '', nil, 'bar') # => 'foo/bar'
79
- #
80
- # # @example Encode special characters
81
- # __pathify(['foo', 'bar^bam']) # => 'foo/bar%5Ebam'
82
- #
83
- # @api private
84
- def __pathify(*segments)
85
- Array(segments).flatten
86
- .compact
87
- .reject { |s| s.to_s.strip.empty? }
88
- .join('/')
89
- .squeeze('/')
48
+ def self.build_url(*parts)
49
+ parts.compact.join('/').squeeze('/')
90
50
  end
91
51
 
92
52
  # Convert an array of payloads into OpenSearch `header\ndata` format
93
53
  #
94
54
  # Supports various different formats of the payload: Array of Strings, Header/Data pairs,
95
- # or the conveniency "combined" format where data is passed along with the header
55
+ # or the convenient "combined" format where data is passed along with the header
96
56
  # in a single item.
97
57
  #
98
58
  # OpenSearch::API::Utils.__bulkify [
@@ -104,13 +64,13 @@ module OpenSearch
104
64
  # # => {"title":"Test"}
105
65
  # # => {"update":{"_index":"myindexB","_id":"2"}}
106
66
  # # => {"doc":{"title":"Update"}}
107
- #
108
- def __bulkify(payload)
109
- operations = %w[index create delete update]
67
+ # TODO: refactor this method to be more readable
68
+ def self.bulkify(payload)
69
+ return payload unless payload.is_a?(Array)
110
70
 
111
71
  # Hashes with `:data`
112
72
  if payload.any? do |d|
113
- d.is_a?(Hash) && d.values.first.is_a?(Hash) && operations.include?(d.keys.first.to_s) && (d.values.first[:data] || d.values.first['data'])
73
+ d.is_a?(Hash) && d.values.first.is_a?(Hash) && BULK_OPERATIONS.include?(d.keys.first.to_s) && (d.values.first[:data] || d.values.first['data'])
114
74
  end
115
75
  payload = payload
116
76
  .each_with_object([]) do |item, sum|
@@ -134,163 +94,8 @@ module OpenSearch
134
94
  payload << ''
135
95
  end
136
96
 
137
- payload = payload.join("\n")
138
- end
139
-
140
- # Validates the argument Hash against common and valid API parameters
141
- #
142
- # @param arguments [Hash] Hash of arguments to verify and extract, **with symbolized keys**
143
- # @param valid_params [Array<Symbol>] An array of symbols with valid keys
144
- #
145
- # @return [Hash] Return whitelisted Hash
146
- # @raise [ArgumentError] If the arguments Hash contains invalid keys
147
- #
148
- # @example Extract parameters
149
- # __validate_and_extract_params( { :foo => 'qux' }, [:foo, :bar] )
150
- # # => { :foo => 'qux' }
151
- #
152
- # @example Raise an exception for invalid parameters
153
- # __validate_and_extract_params( { :foo => 'qux', :bam => 'mux' }, [:foo, :bar] )
154
- # # ArgumentError: "URL parameter 'bam' is not supported"
155
- #
156
- # @example Skip validating parameters
157
- # __validate_and_extract_params( { :foo => 'q', :bam => 'm' }, [:foo, :bar], { skip_parameter_validation: true } )
158
- # # => { :foo => "q", :bam => "m" }
159
- #
160
- # @example Skip validating parameters when the module setting is set
161
- # OpenSearch::API.settings[:skip_parameter_validation] = true
162
- # __validate_and_extract_params( { :foo => 'q', :bam => 'm' }, [:foo, :bar] )
163
- # # => { :foo => "q", :bam => "m" }
164
- #
165
- # @api private
166
- #
167
- def __validate_and_extract_params(arguments, params = [], options = {})
168
- if options[:skip_parameter_validation] || OpenSearch::API.settings[:skip_parameter_validation]
169
- arguments
170
- else
171
- __validate_params(arguments, params)
172
- __extract_params(arguments, params, options.merge(escape: false))
173
- end
174
- end
175
-
176
- def __validate_params(arguments, valid_params = [])
177
- arguments.each do |k, _v|
178
- raise ArgumentError, "URL parameter '#{k}' is not supported" \
179
- unless COMMON_PARAMS.include?(k) || COMMON_QUERY_PARAMS.include?(k) || valid_params.include?(k)
180
- end
97
+ payload.join("\n")
181
98
  end
182
-
183
- def __extract_params(arguments, params = [], options = {})
184
- result = arguments.select { |k, _v| COMMON_QUERY_PARAMS.include?(k) || params.include?(k) }
185
- result = result.to_h unless result.is_a?(Hash) # Normalize Ruby 1.8 and Ruby 1.9 Hash#select behaviour
186
- result.map { |k, v| v.is_a?(Array) ? [k, __listify(v, options)] : [k, v] }.to_h # Listify Arrays
187
- end
188
-
189
- # Extracts the valid parts of the URL from the arguments
190
- #
191
- # @note Mutates the `arguments` argument, to prevent failures in `__validate_and_extract_params`.
192
- #
193
- # @param arguments [Hash] Hash of arguments to verify and extract, **with symbolized keys**
194
- # @param valid_parts [Array<Symbol>] An array of symbol with valid keys
195
- #
196
- # @return [Array<String>] Valid parts of the URL as an array of strings
197
- #
198
- # @example Extract parts
199
- # __extract_parts { :foo => true }, [:foo, :bar]
200
- # # => [:foo]
201
- #
202
- #
203
- # @api private
204
- #
205
- def __extract_parts(arguments, valid_parts = [])
206
- parts = arguments.select { |k, _v| valid_parts.include?(k) }.to_h
207
- parts = parts.reduce([]) do |sum, item|
208
- k, v = item
209
- sum << (v.is_a?(TrueClass) ? k.to_s : v)
210
- end
211
-
212
- arguments.delete_if { |k, _v| valid_parts.include? k }
213
- parts
214
- end
215
-
216
- # Calls the given block, rescuing from `StandardError`.
217
- #
218
- # Primary use case is the `:ignore` parameter for API calls.
219
- #
220
- # Returns `false` if exception contains NotFound in its class name or message,
221
- # else re-raises the exception.
222
- #
223
- # @yield [block] A block of code to be executed with exception handling.
224
- #
225
- # @api private
226
- #
227
- def __rescue_from_not_found
228
- yield
229
- rescue StandardError => e
230
- raise e unless e.class.to_s =~ /NotFound/ || e.message =~ /Not\s*Found/i
231
- false
232
- end
233
-
234
- def __report_unsupported_parameters(arguments, params = [])
235
- messages = []
236
- unsupported_params = params.select do |d|
237
- d.is_a?(Hash) ? arguments.include?(d.keys.first) : arguments.include?(d)
238
- end
239
-
240
- unsupported_params.each do |param|
241
- name = case param
242
- when Symbol
243
- param
244
- when Hash
245
- param.keys.first
246
- else
247
- raise ArgumentError, 'The param must be a Symbol or a Hash'
248
- end
249
-
250
- explanation = if param.is_a?(Hash)
251
- ". #{param.values.first[:explanation]}."
252
- else
253
- ". This parameter is not supported in the version you're using: #{OpenSearch::VERSION}, and will be removed in the next release."
254
- end
255
-
256
- message = "[!] You are using unsupported parameter [:#{name}]"
257
-
258
- if (source = caller&.last)
259
- message += " in `#{source}`"
260
- end
261
-
262
- message += explanation
263
-
264
- messages << message
265
- end
266
-
267
- return if messages.empty?
268
-
269
- messages << 'Suppress this warning by the `-WO` command line flag.'
270
-
271
- if $stderr.tty?
272
- Kernel.warn messages.map { |m| "\e[31;1m#{m}\e[0m" }.join("\n")
273
- else
274
- Kernel.warn messages.join("\n")
275
- end
276
- end
277
-
278
- def __report_unsupported_method(name)
279
- message = "[!] You are using unsupported method [#{name}]"
280
- if (source = caller&.last)
281
- message += " in `#{source}`"
282
- end
283
-
284
- message += ". This method is not supported in the version you're using: #{OpenSearch::VERSION}, and will be removed in the next release. Suppress this warning by the `-WO` command line flag."
285
-
286
- if $stderr.tty?
287
- Kernel.warn "\e[31;1m#{message}\e[0m"
288
- else
289
- Kernel.warn message
290
- end
291
- end
292
-
293
- extend self
294
99
  end
295
100
  end
296
101
  end