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

Sign up to get free protection for your applications and to get access to all the features.
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,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