opensearch-ruby 2.0.3 → 3.4.0

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 (444) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/README.md +80 -46
  4. data/USER_GUIDE.md +149 -0
  5. data/bin/opensearch_ruby_console +4 -34
  6. data/lib/opensearch/api/actions/abort_benchmark.rb +49 -0
  7. data/lib/opensearch/api/actions/benchmark.rb +88 -0
  8. data/lib/opensearch/api/actions/bulk.rb +91 -0
  9. data/lib/opensearch/api/actions/cat/aliases.rb +79 -0
  10. data/lib/opensearch/api/actions/cat/all_pit_segments.rb +45 -0
  11. data/lib/opensearch/api/actions/cat/allocation.rb +83 -0
  12. data/lib/opensearch/api/actions/cat/cluster_manager.rb +54 -0
  13. data/lib/opensearch/api/actions/cat/count.rb +75 -0
  14. data/lib/opensearch/api/actions/cat/fielddata.rb +77 -0
  15. data/lib/opensearch/api/actions/cat/health.rb +72 -0
  16. data/lib/opensearch/api/actions/cat/help.rb +61 -0
  17. data/lib/opensearch/api/actions/cat/indices.rb +93 -0
  18. data/lib/opensearch/api/actions/cat/master.rb +73 -0
  19. data/lib/opensearch/api/actions/cat/nodeattrs.rb +73 -0
  20. data/lib/opensearch/api/actions/cat/nodes.rb +82 -0
  21. data/lib/opensearch/api/actions/cat/params_registry.rb +69 -0
  22. data/lib/opensearch/api/actions/cat/pending_tasks.rb +76 -0
  23. data/lib/opensearch/api/actions/cat/pit_segments.rb +48 -0
  24. data/lib/opensearch/api/actions/cat/plugins.rb +75 -0
  25. data/lib/opensearch/api/actions/cat/recovery.rb +84 -0
  26. data/lib/opensearch/api/actions/cat/repositories.rb +73 -0
  27. data/lib/opensearch/api/actions/cat/segments.rb +76 -0
  28. data/lib/opensearch/api/actions/cat/shards.rb +85 -0
  29. data/lib/opensearch/api/actions/cat/snapshots.rb +82 -0
  30. data/lib/opensearch/api/actions/cat/tasks.rb +77 -0
  31. data/lib/opensearch/api/actions/cat/templates.rb +80 -0
  32. data/lib/opensearch/api/actions/cat/thread_pool.rb +84 -0
  33. data/lib/opensearch/api/actions/clear_scroll.rb +62 -0
  34. data/lib/opensearch/api/actions/cluster/allocation_explain.rb +67 -0
  35. data/lib/opensearch/api/actions/cluster/delete_component_template.rb +68 -0
  36. data/lib/opensearch/api/actions/cluster/delete_voting_config_exclusions.rb +59 -0
  37. data/lib/opensearch/api/actions/cluster/exists_component_template.rb +70 -0
  38. data/lib/opensearch/api/actions/cluster/get_component_template.rb +70 -0
  39. data/lib/opensearch/api/actions/cluster/get_settings.rb +67 -0
  40. data/lib/opensearch/api/actions/cluster/health.rb +88 -0
  41. data/lib/opensearch/api/actions/cluster/params_registry.rb +69 -0
  42. data/lib/opensearch/api/actions/cluster/pending_tasks.rb +64 -0
  43. data/lib/opensearch/api/actions/cluster/post_voting_config_exclusions.rb +63 -0
  44. data/lib/opensearch/api/actions/cluster/put_component_template.rb +72 -0
  45. data/lib/opensearch/api/actions/cluster/put_settings.rb +68 -0
  46. data/{spec/unit/wrapper_gem_spec.rb → lib/opensearch/api/actions/cluster/remote_info.rb} +20 -17
  47. data/lib/opensearch/api/actions/cluster/reroute.rb +72 -0
  48. data/lib/opensearch/api/actions/cluster/state.rb +87 -0
  49. data/lib/opensearch/api/actions/cluster/stats.rb +68 -0
  50. data/lib/opensearch/api/actions/count.rb +96 -0
  51. data/lib/opensearch/api/actions/create.rb +60 -0
  52. data/lib/opensearch/api/actions/create_pit.rb +45 -0
  53. data/lib/opensearch/api/actions/dangling_indices/delete_dangling_index.rb +70 -0
  54. data/lib/opensearch/api/actions/dangling_indices/import_dangling_index.rb +69 -0
  55. data/lib/opensearch/api/actions/dangling_indices/list_dangling_indices.rb +51 -0
  56. data/lib/opensearch/api/actions/dangling_indices/params_registry.rb +69 -0
  57. data/lib/opensearch/api/actions/delete.rb +89 -0
  58. data/lib/opensearch/api/actions/delete_all_pits.rb +26 -0
  59. data/lib/opensearch/api/actions/delete_by_query.rb +133 -0
  60. data/lib/opensearch/api/actions/delete_by_query_rethrottle.rb +62 -0
  61. data/lib/opensearch/api/actions/delete_pit.rb +30 -0
  62. data/lib/opensearch/api/actions/delete_script.rb +66 -0
  63. data/lib/opensearch/api/actions/exists.rb +94 -0
  64. data/lib/opensearch/api/actions/exists_source.rb +89 -0
  65. data/lib/opensearch/api/actions/explain.rb +99 -0
  66. data/lib/opensearch/api/actions/features/get_features.rb +61 -0
  67. data/lib/opensearch/api/actions/features/params_registry.rb +69 -0
  68. data/lib/opensearch/api/actions/features/reset_features.rb +55 -0
  69. data/lib/opensearch/api/actions/field_caps.rb +78 -0
  70. data/lib/opensearch/api/actions/get.rb +93 -0
  71. data/lib/opensearch/api/actions/get_all_pits.rb +26 -0
  72. data/lib/opensearch/api/actions/get_script.rb +64 -0
  73. data/lib/opensearch/api/actions/get_script_context.rb +53 -0
  74. data/lib/opensearch/api/actions/get_script_languages.rb +53 -0
  75. data/lib/opensearch/api/actions/get_source.rb +87 -0
  76. data/lib/opensearch/api/actions/http/connect.rb +28 -0
  77. data/lib/opensearch/api/actions/http/delete.rb +28 -0
  78. data/lib/opensearch/api/actions/http/get.rb +28 -0
  79. data/lib/opensearch/api/actions/http/head.rb +28 -0
  80. data/lib/opensearch/api/actions/http/options.rb +28 -0
  81. data/lib/opensearch/api/actions/http/patch.rb +28 -0
  82. data/lib/opensearch/api/actions/http/post.rb +28 -0
  83. data/lib/opensearch/api/actions/http/put.rb +28 -0
  84. data/lib/opensearch/api/actions/http/request.rb +27 -0
  85. data/lib/opensearch/api/actions/http/trace.rb +28 -0
  86. data/lib/opensearch/api/actions/index.rb +96 -0
  87. data/lib/opensearch/api/actions/indices/add_block.rb +78 -0
  88. data/lib/opensearch/api/actions/indices/analyze.rb +71 -0
  89. data/lib/opensearch/api/actions/indices/clear_cache.rb +79 -0
  90. data/lib/opensearch/api/actions/indices/clone.rb +75 -0
  91. data/lib/opensearch/api/actions/indices/close.rb +76 -0
  92. data/lib/opensearch/api/actions/indices/create.rb +71 -0
  93. data/lib/opensearch/api/actions/indices/delete.rb +78 -0
  94. data/lib/opensearch/api/actions/indices/delete_alias.rb +72 -0
  95. data/lib/opensearch/api/actions/indices/delete_index_template.rb +68 -0
  96. data/lib/opensearch/api/actions/indices/delete_template.rb +72 -0
  97. data/lib/opensearch/api/actions/indices/disk_usage.rb +76 -0
  98. data/lib/opensearch/api/actions/indices/exists.rb +79 -0
  99. data/lib/opensearch/api/actions/indices/exists_alias.rb +82 -0
  100. data/lib/opensearch/api/actions/indices/exists_index_template.rb +72 -0
  101. data/lib/opensearch/api/actions/indices/exists_template.rb +75 -0
  102. data/lib/opensearch/api/actions/indices/field_usage_stats.rb +74 -0
  103. data/lib/opensearch/api/actions/indices/flush.rb +74 -0
  104. data/lib/opensearch/api/actions/indices/forcemerge.rb +76 -0
  105. data/lib/opensearch/api/actions/indices/get.rb +78 -0
  106. data/lib/opensearch/api/actions/indices/get_alias.rb +79 -0
  107. data/lib/opensearch/api/actions/indices/get_field_mapping.rb +83 -0
  108. data/lib/opensearch/api/actions/indices/get_index_template.rb +72 -0
  109. data/lib/opensearch/api/actions/indices/get_mapping.rb +81 -0
  110. data/lib/opensearch/api/actions/indices/get_settings.rb +87 -0
  111. data/lib/opensearch/api/actions/indices/get_template.rb +72 -0
  112. data/lib/opensearch/api/actions/indices/get_upgrade.rb +75 -0
  113. data/lib/opensearch/api/actions/indices/open.rb +76 -0
  114. data/lib/opensearch/api/actions/indices/params_registry.rb +69 -0
  115. data/lib/opensearch/api/actions/indices/put_alias.rb +73 -0
  116. data/lib/opensearch/api/actions/indices/put_index_template.rb +72 -0
  117. data/lib/opensearch/api/actions/indices/put_mapping.rb +82 -0
  118. data/lib/opensearch/api/actions/indices/put_settings.rb +83 -0
  119. data/lib/opensearch/api/actions/indices/put_template.rb +72 -0
  120. data/lib/opensearch/api/actions/indices/recovery.rb +68 -0
  121. data/lib/opensearch/api/actions/indices/refresh.rb +70 -0
  122. data/lib/opensearch/api/actions/indices/resolve_index.rb +68 -0
  123. data/lib/opensearch/api/actions/indices/rollover.rb +81 -0
  124. data/lib/opensearch/api/actions/indices/segments.rb +72 -0
  125. data/lib/opensearch/api/actions/indices/shard_stores.rb +72 -0
  126. data/lib/opensearch/api/actions/indices/shrink.rb +77 -0
  127. data/lib/opensearch/api/actions/indices/simulate_index_template.rb +71 -0
  128. data/lib/opensearch/api/actions/indices/simulate_template.rb +73 -0
  129. data/lib/opensearch/api/actions/indices/split.rb +77 -0
  130. data/lib/opensearch/api/actions/indices/stats.rb +100 -0
  131. data/lib/opensearch/api/actions/indices/update_aliases.rb +66 -0
  132. data/lib/opensearch/api/actions/indices/upgrade.rb +79 -0
  133. data/lib/opensearch/api/actions/indices/validate_query.rb +99 -0
  134. data/{Gemfile → lib/opensearch/api/actions/info.rb} +19 -8
  135. data/lib/opensearch/api/actions/ingest/delete_pipeline.rb +68 -0
  136. data/lib/opensearch/api/actions/ingest/geo_ip_stats.rb +51 -0
  137. data/lib/opensearch/api/actions/ingest/get_pipeline.rb +70 -0
  138. data/lib/opensearch/api/actions/ingest/params_registry.rb +69 -0
  139. data/lib/opensearch/api/actions/ingest/processor_grok.rb +51 -0
  140. data/lib/opensearch/api/actions/ingest/put_pipeline.rb +70 -0
  141. data/lib/opensearch/api/actions/ingest/simulate.rb +69 -0
  142. data/lib/opensearch/api/actions/mget.rb +86 -0
  143. data/lib/opensearch/api/actions/msearch.rb +105 -0
  144. data/lib/opensearch/api/actions/msearch_template.rb +89 -0
  145. data/lib/opensearch/api/actions/mtermvectors.rb +102 -0
  146. data/lib/opensearch/api/actions/nodes/hot_threads.rb +81 -0
  147. data/lib/opensearch/api/actions/nodes/info.rb +75 -0
  148. data/lib/opensearch/api/actions/nodes/params_registry.rb +69 -0
  149. data/lib/opensearch/api/actions/nodes/reload_secure_settings.rb +67 -0
  150. data/lib/opensearch/api/actions/nodes/shutdown.rb +65 -0
  151. data/lib/opensearch/api/actions/nodes/stats.rb +96 -0
  152. data/lib/opensearch/api/actions/nodes/usage.rb +73 -0
  153. data/lib/opensearch/api/actions/params_registry.rb +67 -0
  154. data/lib/opensearch/api/actions/ping.rb +54 -0
  155. data/lib/opensearch/api/actions/put_script.rb +76 -0
  156. data/lib/opensearch/api/actions/rank_eval.rb +77 -0
  157. data/lib/opensearch/api/actions/reindex.rb +76 -0
  158. data/lib/opensearch/api/actions/reindex_rethrottle.rb +62 -0
  159. data/{spec/integration/security_disabled/validation_integration_spec.rb → lib/opensearch/api/actions/remote/info.rb} +17 -11
  160. data/lib/opensearch/api/actions/remote_store/restore.rb +43 -0
  161. data/lib/opensearch/api/actions/render_search_template.rb +62 -0
  162. data/lib/opensearch/api/actions/scripts_painless_execute.rb +59 -0
  163. data/lib/opensearch/api/actions/scroll.rb +78 -0
  164. data/lib/opensearch/api/actions/search.rb +161 -0
  165. data/lib/opensearch/api/actions/search_shards.rb +74 -0
  166. data/lib/opensearch/api/actions/search_template.rb +96 -0
  167. data/lib/opensearch/api/actions/security/change_password.rb +39 -0
  168. data/lib/opensearch/api/actions/security/create_action_group.rb +42 -0
  169. data/lib/opensearch/api/actions/security/create_role.rb +43 -0
  170. data/lib/opensearch/api/actions/security/create_role_mapping.rb +43 -0
  171. data/lib/opensearch/api/actions/security/create_tenant.rb +42 -0
  172. data/lib/opensearch/api/actions/security/create_user.rb +43 -0
  173. data/lib/opensearch/api/actions/security/delete_action_group.rb +41 -0
  174. data/lib/opensearch/api/actions/security/delete_distinguished_names.rb +41 -0
  175. data/lib/opensearch/api/actions/security/delete_role.rb +41 -0
  176. data/lib/opensearch/api/actions/security/delete_role_mapping.rb +41 -0
  177. data/lib/opensearch/api/actions/security/delete_tenant.rb +41 -0
  178. data/lib/opensearch/api/actions/security/delete_user.rb +41 -0
  179. data/lib/opensearch/api/actions/security/flush_cache.rb +36 -0
  180. data/lib/opensearch/api/actions/security/get_account_details.rb +36 -0
  181. data/lib/opensearch/api/actions/security/get_action_group.rb +41 -0
  182. data/lib/opensearch/api/actions/security/get_action_groups.rb +36 -0
  183. data/lib/opensearch/api/actions/security/get_audit_configuration.rb +36 -0
  184. data/lib/opensearch/api/actions/security/get_certificates.rb +36 -0
  185. data/lib/opensearch/api/actions/security/get_configuration.rb +36 -0
  186. data/lib/opensearch/api/actions/security/get_distinguished_names.rb +39 -0
  187. data/lib/opensearch/api/actions/security/get_role.rb +41 -0
  188. data/lib/opensearch/api/actions/security/get_role_mapping.rb +41 -0
  189. data/lib/opensearch/api/actions/security/get_role_mappings.rb +36 -0
  190. data/lib/opensearch/api/actions/security/get_roles.rb +36 -0
  191. data/lib/opensearch/api/actions/security/get_tenant.rb +41 -0
  192. data/lib/opensearch/api/actions/security/get_tenants.rb +36 -0
  193. data/lib/opensearch/api/actions/security/get_user.rb +41 -0
  194. data/lib/opensearch/api/actions/security/get_users.rb +36 -0
  195. data/lib/opensearch/api/actions/security/health.rb +36 -0
  196. data/lib/opensearch/api/actions/security/patch_action_group.rb +42 -0
  197. data/lib/opensearch/api/actions/security/patch_action_groups.rb +37 -0
  198. data/lib/opensearch/api/actions/security/patch_audit_configuration.rb +39 -0
  199. data/lib/opensearch/api/actions/security/patch_configuration.rb +39 -0
  200. data/lib/opensearch/api/actions/security/patch_distinguished_names.rb +39 -0
  201. data/lib/opensearch/api/actions/security/patch_role.rb +43 -0
  202. data/lib/opensearch/api/actions/security/patch_role_mapping.rb +43 -0
  203. data/lib/opensearch/api/actions/security/patch_role_mappings.rb +39 -0
  204. data/lib/opensearch/api/actions/security/patch_roles.rb +39 -0
  205. data/lib/opensearch/api/actions/security/patch_tenant.rb +43 -0
  206. data/lib/opensearch/api/actions/security/patch_tenants.rb +39 -0
  207. data/lib/opensearch/api/actions/security/patch_user.rb +43 -0
  208. data/lib/opensearch/api/actions/security/patch_users.rb +39 -0
  209. data/lib/opensearch/api/actions/security/reload_http_certificates.rb +36 -0
  210. data/lib/opensearch/api/actions/security/reload_transport_certificates.rb +36 -0
  211. data/lib/opensearch/api/actions/security/update_audit_configuration.rb +39 -0
  212. data/lib/opensearch/api/actions/security/update_configuration.rb +39 -0
  213. data/lib/opensearch/api/actions/security/update_distinguished_names.rb +42 -0
  214. data/lib/opensearch/api/actions/shutdown/delete_node.rb +60 -0
  215. data/lib/opensearch/api/actions/shutdown/get_node.rb +62 -0
  216. data/lib/opensearch/api/actions/shutdown/params_registry.rb +69 -0
  217. data/lib/opensearch/api/actions/shutdown/put_node.rb +62 -0
  218. data/lib/opensearch/api/actions/snapshot/cleanup_repository.rb +68 -0
  219. data/lib/opensearch/api/actions/snapshot/clone.rb +76 -0
  220. data/lib/opensearch/api/actions/snapshot/create.rb +73 -0
  221. data/lib/opensearch/api/actions/snapshot/create_repository.rb +72 -0
  222. data/lib/opensearch/api/actions/snapshot/delete.rb +74 -0
  223. data/lib/opensearch/api/actions/snapshot/delete_repository.rb +72 -0
  224. data/lib/opensearch/api/actions/snapshot/get.rb +82 -0
  225. data/lib/opensearch/api/actions/snapshot/get_features.rb +61 -0
  226. data/lib/opensearch/api/actions/snapshot/get_repository.rb +73 -0
  227. data/lib/opensearch/api/actions/snapshot/params_registry.rb +69 -0
  228. data/lib/opensearch/api/actions/snapshot/repository_analyze.rb +84 -0
  229. data/lib/opensearch/api/actions/snapshot/restore.rb +73 -0
  230. data/lib/opensearch/api/actions/snapshot/status.rb +79 -0
  231. data/lib/opensearch/api/actions/snapshot/verify_repository.rb +68 -0
  232. data/lib/opensearch/api/actions/tasks/cancel.rb +76 -0
  233. data/lib/opensearch/api/actions/tasks/get.rb +68 -0
  234. data/lib/opensearch/api/actions/tasks/list.rb +75 -0
  235. data/lib/opensearch/api/actions/tasks/params_registry.rb +69 -0
  236. data/lib/opensearch/api/actions/termvectors.rb +108 -0
  237. data/lib/opensearch/api/actions/update.rb +99 -0
  238. data/lib/opensearch/api/actions/update_by_query.rb +137 -0
  239. data/lib/opensearch/api/actions/update_by_query_rethrottle.rb +62 -0
  240. data/{spec/integration/security_enabled/validation_integration_spec.rb → lib/opensearch/api/namespace/cat.rb} +19 -12
  241. data/lib/opensearch/api/namespace/cluster.rb +47 -0
  242. data/lib/opensearch/api/namespace/common.rb +72 -0
  243. data/lib/opensearch/api/namespace/dangling_indices.rb +47 -0
  244. data/lib/opensearch/api/namespace/features.rb +47 -0
  245. data/lib/opensearch/api/namespace/http.rb +30 -0
  246. data/lib/opensearch/api/namespace/indices.rb +47 -0
  247. data/lib/opensearch/api/namespace/ingest.rb +47 -0
  248. data/lib/opensearch/api/namespace/nodes.rb +47 -0
  249. data/lib/opensearch/api/namespace/remote.rb +47 -0
  250. data/lib/opensearch/api/namespace/remote_store.rb +30 -0
  251. data/lib/opensearch/api/namespace/security.rb +30 -0
  252. data/lib/opensearch/api/namespace/shutdown.rb +47 -0
  253. data/lib/opensearch/api/namespace/snapshot.rb +47 -0
  254. data/lib/opensearch/api/namespace/tasks.rb +47 -0
  255. data/lib/opensearch/api/utils.rb +296 -0
  256. data/lib/opensearch/api.rb +104 -0
  257. data/lib/opensearch/dsl/search/aggregation.rb +112 -0
  258. data/lib/opensearch/dsl/search/aggregations/avg.rb +49 -0
  259. data/lib/opensearch/dsl/search/aggregations/cardinality.rb +56 -0
  260. data/lib/opensearch/dsl/search/aggregations/children.rb +63 -0
  261. data/lib/opensearch/dsl/search/aggregations/composite.rb +68 -0
  262. data/lib/opensearch/dsl/search/aggregations/date_histogram.rb +64 -0
  263. data/lib/opensearch/dsl/search/aggregations/date_range.rb +59 -0
  264. data/lib/opensearch/dsl/search/aggregations/extended_stats.rb +48 -0
  265. data/lib/opensearch/dsl/search/aggregations/filter.rb +54 -0
  266. data/lib/opensearch/dsl/search/aggregations/filters.rb +59 -0
  267. data/lib/opensearch/dsl/search/aggregations/geo_bounds.rb +68 -0
  268. data/lib/opensearch/dsl/search/aggregations/geo_distance.rb +63 -0
  269. data/lib/opensearch/dsl/search/aggregations/geohash_grid.rb +59 -0
  270. data/lib/opensearch/dsl/search/aggregations/global.rb +52 -0
  271. data/{spec/integration/security_disabled/client_integration_spec.rb → lib/opensearch/dsl/search/aggregations/histogram.rb} +29 -29
  272. data/lib/opensearch/dsl/search/aggregations/ip_range.rb +55 -0
  273. data/lib/opensearch/dsl/search/aggregations/max.rb +49 -0
  274. data/lib/opensearch/dsl/search/aggregations/min.rb +49 -0
  275. data/lib/opensearch/dsl/search/aggregations/missing.rb +59 -0
  276. data/lib/opensearch/dsl/search/aggregations/nested.rb +57 -0
  277. data/lib/opensearch/dsl/search/aggregations/percentile_ranks.rb +58 -0
  278. data/lib/opensearch/dsl/search/aggregations/percentiles.rb +57 -0
  279. data/lib/opensearch/dsl/search/aggregations/pipeline/avg_bucket.rb +58 -0
  280. data/lib/opensearch/dsl/search/aggregations/pipeline/bucket_script.rb +60 -0
  281. data/lib/opensearch/dsl/search/aggregations/pipeline/bucket_selector.rb +59 -0
  282. data/lib/opensearch/dsl/search/aggregations/pipeline/bucket_sort.rb +111 -0
  283. data/lib/opensearch/dsl/search/aggregations/pipeline/cumulative_sum.rb +57 -0
  284. data/lib/opensearch/dsl/search/aggregations/pipeline/derivative.rb +58 -0
  285. data/lib/opensearch/dsl/search/aggregations/pipeline/extended_stats_bucket.rb +58 -0
  286. data/lib/opensearch/dsl/search/aggregations/pipeline/max_bucket.rb +58 -0
  287. data/lib/opensearch/dsl/search/aggregations/pipeline/min_bucket.rb +58 -0
  288. data/lib/opensearch/dsl/search/aggregations/pipeline/moving_avg.rb +66 -0
  289. data/lib/opensearch/dsl/search/aggregations/pipeline/percentiles_bucket.rb +60 -0
  290. data/lib/opensearch/dsl/search/aggregations/pipeline/serial_diff.rb +60 -0
  291. data/lib/opensearch/dsl/search/aggregations/pipeline/stats_bucket.rb +58 -0
  292. data/lib/opensearch/dsl/search/aggregations/pipeline/sum_bucket.rb +58 -0
  293. data/lib/opensearch/dsl/search/aggregations/range.rb +77 -0
  294. data/lib/opensearch/dsl/search/aggregations/reverse_nested.rb +61 -0
  295. data/lib/opensearch/dsl/search/aggregations/scripted_metric.rb +63 -0
  296. data/lib/opensearch/dsl/search/aggregations/significant_terms.rb +69 -0
  297. data/lib/opensearch/dsl/search/aggregations/stats.rb +61 -0
  298. data/lib/opensearch/dsl/search/aggregations/sum.rb +49 -0
  299. data/lib/opensearch/dsl/search/aggregations/terms.rb +66 -0
  300. data/lib/opensearch/dsl/search/aggregations/top_hits.rb +59 -0
  301. data/lib/opensearch/dsl/search/aggregations/value_count.rb +49 -0
  302. data/lib/opensearch/dsl/search/base_aggregation_component.rb +83 -0
  303. data/lib/opensearch/dsl/search/base_component.rb +191 -0
  304. data/lib/opensearch/dsl/search/base_compound_filter_component.rb +124 -0
  305. data/lib/opensearch/dsl/search/filter.rb +82 -0
  306. data/lib/opensearch/dsl/search/filters/and.rb +70 -0
  307. data/lib/opensearch/dsl/search/filters/bool.rb +103 -0
  308. data/lib/opensearch/dsl/search/filters/exists.rb +56 -0
  309. data/lib/opensearch/dsl/search/filters/geo_bounding_box.rb +69 -0
  310. data/lib/opensearch/dsl/search/filters/geo_distance.rb +81 -0
  311. data/lib/opensearch/dsl/search/filters/geo_distance_range.rb +56 -0
  312. data/lib/opensearch/dsl/search/filters/geo_polygon.rb +65 -0
  313. data/lib/opensearch/dsl/search/filters/geo_shape.rb +59 -0
  314. data/lib/opensearch/dsl/search/filters/geohash_cell.rb +71 -0
  315. data/lib/opensearch/dsl/search/filters/has_child.rb +98 -0
  316. data/lib/opensearch/dsl/search/filters/has_parent.rb +97 -0
  317. data/lib/opensearch/dsl/search/filters/ids.rb +56 -0
  318. data/lib/opensearch/dsl/search/filters/indices.rb +101 -0
  319. data/lib/opensearch/dsl/search/filters/limit.rb +55 -0
  320. data/lib/opensearch/dsl/search/filters/match_all.rb +52 -0
  321. data/lib/opensearch/dsl/search/filters/missing.rb +58 -0
  322. data/lib/opensearch/dsl/search/filters/nested.rb +91 -0
  323. data/lib/opensearch/dsl/search/filters/not.rb +98 -0
  324. data/lib/opensearch/dsl/search/filters/or.rb +70 -0
  325. data/lib/opensearch/dsl/search/filters/prefix.rb +53 -0
  326. data/lib/opensearch/dsl/search/filters/query.rb +77 -0
  327. data/lib/opensearch/dsl/search/filters/range.rb +63 -0
  328. data/lib/opensearch/dsl/search/filters/regexp.rb +58 -0
  329. data/lib/opensearch/dsl/search/filters/script.rb +56 -0
  330. data/lib/opensearch/dsl/search/filters/term.rb +55 -0
  331. data/lib/opensearch/dsl/search/filters/terms.rb +56 -0
  332. data/lib/opensearch/dsl/search/filters/type.rb +58 -0
  333. data/lib/opensearch/dsl/search/highlight.rb +117 -0
  334. data/lib/opensearch/dsl/search/options.rb +80 -0
  335. data/lib/opensearch/dsl/search/queries/bool.rb +110 -0
  336. data/lib/opensearch/dsl/search/queries/boosting.rb +57 -0
  337. data/lib/opensearch/dsl/search/queries/common.rb +62 -0
  338. data/lib/opensearch/dsl/search/queries/constant_score.rb +90 -0
  339. data/lib/opensearch/dsl/search/queries/dis_max.rb +59 -0
  340. data/lib/opensearch/dsl/search/queries/exists.rb +68 -0
  341. data/lib/opensearch/dsl/search/queries/filtered.rb +101 -0
  342. data/lib/opensearch/dsl/search/queries/function_score.rb +122 -0
  343. data/lib/opensearch/dsl/search/queries/fuzzy.rb +69 -0
  344. data/lib/opensearch/dsl/search/queries/fuzzy_like_this.rb +61 -0
  345. data/lib/opensearch/dsl/search/queries/fuzzy_like_this_field.rb +60 -0
  346. data/lib/opensearch/dsl/search/queries/geo_shape.rb +54 -0
  347. data/lib/opensearch/dsl/search/queries/has_child.rb +82 -0
  348. data/lib/opensearch/dsl/search/queries/has_parent.rb +82 -0
  349. data/lib/opensearch/dsl/search/queries/ids.rb +52 -0
  350. data/lib/opensearch/dsl/search/queries/indices.rb +58 -0
  351. data/lib/opensearch/dsl/search/queries/match.rb +66 -0
  352. data/lib/opensearch/dsl/search/queries/match_all.rb +50 -0
  353. data/lib/opensearch/dsl/search/queries/match_phrase.rb +56 -0
  354. data/lib/opensearch/dsl/search/queries/match_phrase_prefix.rb +55 -0
  355. data/lib/opensearch/dsl/search/queries/more_like_this.rb +88 -0
  356. data/lib/opensearch/dsl/search/queries/multi_match.rb +69 -0
  357. data/lib/opensearch/dsl/search/queries/nested.rb +80 -0
  358. data/lib/opensearch/dsl/search/queries/prefix.rb +54 -0
  359. data/lib/opensearch/dsl/search/queries/query_string.rb +75 -0
  360. data/lib/opensearch/dsl/search/queries/range.rb +71 -0
  361. data/lib/opensearch/dsl/search/queries/regexp.rb +55 -0
  362. data/lib/opensearch/dsl/search/queries/script_score.rb +62 -0
  363. data/lib/opensearch/dsl/search/queries/simple_query_string.rb +64 -0
  364. data/lib/opensearch/dsl/search/queries/span_first.rb +52 -0
  365. data/lib/opensearch/dsl/search/queries/span_multi.rb +52 -0
  366. data/lib/opensearch/dsl/search/queries/span_near.rb +56 -0
  367. data/lib/opensearch/dsl/search/queries/span_not.rb +57 -0
  368. data/lib/opensearch/dsl/search/queries/span_or.rb +52 -0
  369. data/lib/opensearch/dsl/search/queries/span_term.rb +50 -0
  370. data/lib/opensearch/dsl/search/queries/template.rb +55 -0
  371. data/lib/opensearch/dsl/search/queries/term.rb +50 -0
  372. data/lib/opensearch/dsl/search/queries/terms.rb +51 -0
  373. data/lib/opensearch/dsl/search/queries/top_children.rb +82 -0
  374. data/lib/opensearch/dsl/search/queries/wildcard.rb +54 -0
  375. data/lib/opensearch/dsl/search/query.rb +82 -0
  376. data/lib/opensearch/dsl/search/sort.rb +83 -0
  377. data/lib/opensearch/dsl/search/suggest.rb +52 -0
  378. data/lib/opensearch/dsl/search.rb +282 -0
  379. data/lib/opensearch/dsl/utils.rb +49 -0
  380. data/lib/opensearch/dsl.rb +69 -0
  381. data/lib/opensearch/transport/client.rb +362 -0
  382. data/lib/opensearch/transport/redacted.rb +82 -0
  383. data/lib/opensearch/transport/transport/base.rb +451 -0
  384. data/lib/opensearch/transport/transport/connections/collection.rb +134 -0
  385. data/lib/opensearch/transport/transport/connections/connection.rb +168 -0
  386. data/lib/opensearch/transport/transport/connections/selector.rb +100 -0
  387. data/lib/opensearch/transport/transport/errors.rb +97 -0
  388. data/lib/opensearch/transport/transport/http/curb.rb +139 -0
  389. data/lib/opensearch/transport/transport/http/faraday.rb +101 -0
  390. data/lib/opensearch/transport/transport/http/manticore.rb +188 -0
  391. data/lib/opensearch/transport/transport/loggable.rb +92 -0
  392. data/lib/opensearch/transport/transport/response.rb +47 -0
  393. data/lib/opensearch/transport/transport/serializer/multi_json.rb +61 -0
  394. data/lib/opensearch/transport/transport/sniffer.rb +110 -0
  395. data/lib/opensearch/transport.rb +44 -0
  396. data/lib/opensearch/version.rb +1 -1
  397. data/lib/opensearch-dsl.rb +27 -0
  398. data/lib/opensearch.rb +12 -12
  399. data/opensearch-ruby.gemspec +69 -0
  400. data/spec/spec_helper.rb +95 -4
  401. data/test/dsl/integration/search_aggregation_children_test.rb +91 -0
  402. data/test/dsl/integration/search_aggregation_geo_test.rb +112 -0
  403. data/test/dsl/integration/search_aggregation_nested_test.rb +129 -0
  404. data/test/dsl/integration/search_aggregations_test.rb +288 -0
  405. data/test/dsl/integration/search_filters_test.rb +290 -0
  406. data/test/dsl/integration/search_options_test.rb +54 -0
  407. data/test/dsl/integration/search_query_test.rb +98 -0
  408. data/test/dsl/integration/search_size_from_test.rb +71 -0
  409. data/test/dsl/integration/search_sort_test.rb +57 -0
  410. data/test/dsl/integration/search_suggest_test.rb +107 -0
  411. data/test/dsl/integration/search_test.rb +81 -0
  412. data/test/dsl/test_helper.rb +95 -0
  413. data/test/dsl/unit/dsl_test.rb +44 -0
  414. data/test/dsl/unit/search_aggregation_test.rb +96 -0
  415. data/test/dsl/unit/search_base_aggregation_component_test.rb +66 -0
  416. data/test/dsl/unit/search_base_component_test.rb +210 -0
  417. data/test/dsl/unit/search_filter_test.rb +84 -0
  418. data/test/dsl/unit/search_highlight_test.rb +103 -0
  419. data/test/dsl/unit/search_options_test.rb +114 -0
  420. data/test/dsl/unit/search_query_test.rb +88 -0
  421. data/test/dsl/unit/search_size_from_test.rb +68 -0
  422. data/test/dsl/unit/search_sort_test.rb +91 -0
  423. data/test/dsl/unit/search_suggest_test.rb +46 -0
  424. data/test/dsl/unit/search_test.rb +268 -0
  425. data/test/dsl/unit/utils_test.rb +47 -0
  426. data/test/transport/integration/transport_test.rb +117 -0
  427. data/test/transport/profile/client_benchmark_test.rb +141 -0
  428. data/test/transport/test_helper.rb +97 -0
  429. data/test/transport/unit/connection_test.rb +145 -0
  430. data/test/transport/unit/response_test.rb +46 -0
  431. data/test/transport/unit/serializer_test.rb +42 -0
  432. data/test/transport/unit/transport_base_test.rb +673 -0
  433. data/test/transport/unit/transport_curb_test.rb +143 -0
  434. data/test/transport/unit/transport_faraday_test.rb +237 -0
  435. data/test/transport/unit/transport_manticore_test.rb +191 -0
  436. data.tar.gz.sig +0 -0
  437. metadata +502 -191
  438. metadata.gz.sig +0 -0
  439. data/.gitignore +0 -21
  440. data/Rakefile +0 -69
  441. data/opensearch.gemspec +0 -81
  442. data/spec/integration/security_enabled/client_integration_spec.rb +0 -43
  443. data/spec/unit/opensearch_product_validation_spec.rb +0 -198
  444. /data/{LICENSE → LICENSE.txt} +0 -0
@@ -0,0 +1,64 @@
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
+ # Modifications Copyright OpenSearch Contributors. See
8
+ # GitHub history for details.
9
+ #
10
+ # Licensed to Elasticsearch B.V. under one or more contributor
11
+ # license agreements. See the NOTICE file distributed with
12
+ # this work for additional information regarding copyright
13
+ # ownership. Elasticsearch B.V. licenses this file to you under
14
+ # the Apache License, Version 2.0 (the "License"); you may
15
+ # not use this file except in compliance with the License.
16
+ # You may obtain a copy of the License at
17
+ #
18
+ # http://www.apache.org/licenses/LICENSE-2.0
19
+ #
20
+ # Unless required by applicable law or agreed to in writing,
21
+ # software distributed under the License is distributed on an
22
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
23
+ # KIND, either express or implied. See the License for the
24
+ # specific language governing permissions and limitations
25
+ # under the License.
26
+
27
+ module OpenSearch
28
+ module API
29
+ module Actions
30
+ # Returns a script.
31
+ #
32
+ # @option arguments [String] :id Script ID
33
+ # @option arguments [Time] :master_timeout (DEPRECATED: use cluster_manager_timeout instead) Specify timeout for connection to master
34
+ # @option arguments [Time] :cluster_manager_timeout Specify timeout for connection to cluster_manager
35
+ # @option arguments [Hash] :headers Custom HTTP headers
36
+ #
37
+ #
38
+ def get_script(arguments = {})
39
+ raise ArgumentError, "Required argument 'id' missing" unless arguments[:id]
40
+
41
+ headers = arguments.delete(:headers) || {}
42
+
43
+ arguments = arguments.clone
44
+
45
+ _id = arguments.delete(:id)
46
+
47
+ method = OpenSearch::API::HTTP_GET
48
+ path = "_scripts/#{Utils.__listify(_id)}"
49
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
50
+
51
+ body = nil
52
+ perform_request(method, path, params, body, headers).body
53
+ end
54
+
55
+ # Register this action with its valid params when the module is loaded.
56
+ #
57
+ # @since 6.2.0
58
+ ParamsRegistry.register(:get_script, %i[
59
+ master_timeout
60
+ cluster_manager_timeout
61
+ ].freeze)
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,53 @@
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
+ # Modifications Copyright OpenSearch Contributors. See
8
+ # GitHub history for details.
9
+ #
10
+ # Licensed to Elasticsearch B.V. under one or more contributor
11
+ # license agreements. See the NOTICE file distributed with
12
+ # this work for additional information regarding copyright
13
+ # ownership. Elasticsearch B.V. licenses this file to you under
14
+ # the Apache License, Version 2.0 (the "License"); you may
15
+ # not use this file except in compliance with the License.
16
+ # You may obtain a copy of the License at
17
+ #
18
+ # http://www.apache.org/licenses/LICENSE-2.0
19
+ #
20
+ # Unless required by applicable law or agreed to in writing,
21
+ # software distributed under the License is distributed on an
22
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
23
+ # KIND, either express or implied. See the License for the
24
+ # specific language governing permissions and limitations
25
+ # under the License.
26
+
27
+ module OpenSearch
28
+ module API
29
+ module Actions
30
+ # Returns all script contexts.
31
+ # This functionality is Experimental and may be changed or removed
32
+ # completely in a future release. OpenSearch will take a best effort approach
33
+ # to fix any issues, but experimental features are not subject to the
34
+ # support SLA of official GA features.
35
+ #
36
+ # @option arguments [Hash] :headers Custom HTTP headers
37
+ #
38
+ #
39
+ def get_script_context(arguments = {})
40
+ headers = arguments.delete(:headers) || {}
41
+
42
+ arguments = arguments.clone
43
+
44
+ method = OpenSearch::API::HTTP_GET
45
+ path = '_script_context'
46
+ params = {}
47
+
48
+ body = nil
49
+ perform_request(method, path, params, body, headers).body
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,53 @@
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
+ # Modifications Copyright OpenSearch Contributors. See
8
+ # GitHub history for details.
9
+ #
10
+ # Licensed to Elasticsearch B.V. under one or more contributor
11
+ # license agreements. See the NOTICE file distributed with
12
+ # this work for additional information regarding copyright
13
+ # ownership. Elasticsearch B.V. licenses this file to you under
14
+ # the Apache License, Version 2.0 (the "License"); you may
15
+ # not use this file except in compliance with the License.
16
+ # You may obtain a copy of the License at
17
+ #
18
+ # http://www.apache.org/licenses/LICENSE-2.0
19
+ #
20
+ # Unless required by applicable law or agreed to in writing,
21
+ # software distributed under the License is distributed on an
22
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
23
+ # KIND, either express or implied. See the License for the
24
+ # specific language governing permissions and limitations
25
+ # under the License.
26
+
27
+ module OpenSearch
28
+ module API
29
+ module Actions
30
+ # Returns available script types, languages and contexts
31
+ # This functionality is Experimental and may be changed or removed
32
+ # completely in a future release. OpenSearch will take a best effort approach
33
+ # to fix any issues, but experimental features are not subject to the
34
+ # support SLA of official GA features.
35
+ #
36
+ # @option arguments [Hash] :headers Custom HTTP headers
37
+ #
38
+ #
39
+ def get_script_languages(arguments = {})
40
+ headers = arguments.delete(:headers) || {}
41
+
42
+ arguments = arguments.clone
43
+
44
+ method = OpenSearch::API::HTTP_GET
45
+ path = '_script_language'
46
+ params = {}
47
+
48
+ body = nil
49
+ perform_request(method, path, params, body, headers).body
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,87 @@
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
+ # Modifications Copyright OpenSearch Contributors. See
8
+ # GitHub history for details.
9
+ #
10
+ # Licensed to Elasticsearch B.V. under one or more contributor
11
+ # license agreements. See the NOTICE file distributed with
12
+ # this work for additional information regarding copyright
13
+ # ownership. Elasticsearch B.V. licenses this file to you under
14
+ # the Apache License, Version 2.0 (the "License"); you may
15
+ # not use this file except in compliance with the License.
16
+ # You may obtain a copy of the License at
17
+ #
18
+ # http://www.apache.org/licenses/LICENSE-2.0
19
+ #
20
+ # Unless required by applicable law or agreed to in writing,
21
+ # software distributed under the License is distributed on an
22
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
23
+ # KIND, either express or implied. See the License for the
24
+ # specific language governing permissions and limitations
25
+ # under the License.
26
+
27
+ module OpenSearch
28
+ module API
29
+ module Actions
30
+ # Returns the source of a document.
31
+ #
32
+ # @option arguments [String] :id The document ID
33
+ # @option arguments [String] :index The name of the index
34
+ # @option arguments [String] :preference Specify the node or shard the operation should be performed on (default: random)
35
+ # @option arguments [Boolean] :realtime Specify whether to perform the operation in realtime or search mode
36
+ # @option arguments [Boolean] :refresh Refresh the shard containing the document before performing the operation
37
+ # @option arguments [String] :routing Specific routing value
38
+ # @option arguments [List] :_source True or false to return the _source field or not, or a list of fields to return
39
+ # @option arguments [List] :_source_excludes A list of fields to exclude from the returned _source field
40
+ # @option arguments [List] :_source_includes A list of fields to extract and return from the _source field
41
+ # @option arguments [Number] :version Explicit version number for concurrency control
42
+ # @option arguments [String] :version_type Specific version type (options: internal, external, external_gte, force)
43
+ # @option arguments [Hash] :headers Custom HTTP headers
44
+ #
45
+ # *Deprecation notice*:
46
+ # Specifying types in urls has been deprecated
47
+ # Deprecated since version 7.0.0
48
+ #
49
+ #
50
+ #
51
+ def get_source(arguments = {})
52
+ raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
53
+ raise ArgumentError, "Required argument 'id' missing" unless arguments[:id]
54
+
55
+ headers = arguments.delete(:headers) || {}
56
+
57
+ arguments = arguments.clone
58
+
59
+ _id = arguments.delete(:id)
60
+
61
+ _index = arguments.delete(:index)
62
+
63
+ method = OpenSearch::API::HTTP_GET
64
+ path = "#{Utils.__listify(_index)}/_source/#{Utils.__listify(_id)}"
65
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
66
+
67
+ body = nil
68
+ perform_request(method, path, params, body, headers).body
69
+ end
70
+
71
+ # Register this action with its valid params when the module is loaded.
72
+ #
73
+ # @since 6.2.0
74
+ ParamsRegistry.register(:get_source, %i[
75
+ preference
76
+ realtime
77
+ refresh
78
+ routing
79
+ _source
80
+ _source_excludes
81
+ _source_includes
82
+ version
83
+ version_type
84
+ ].freeze)
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,28 @@
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 code was generated from OpenSearch API Spec.
8
+ # Update the code generation logic instead of modifying this file directly.
9
+
10
+ # frozen_string_literal: true
11
+
12
+ module OpenSearch
13
+ module API
14
+ module Http
15
+ module Actions
16
+ # Make a customized CONNECT request.
17
+ #
18
+ # @option arguments [String] :url Relative path to the endpoint (e.g. 'cat/indices/books,movies') (*Required*)
19
+ # @option arguments [Hash] :params Querystring parameters to be appended to the path
20
+ # @option arguments [Hash] :headers Custom HTTP headers
21
+ # @option arguments [String | Hash | Array<Hash>] :body The body of the request
22
+ def connect(url, headers: {}, body: nil, params: {})
23
+ request('CONNECT', url, headers: headers, body: body, params: params)
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
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 code was generated from OpenSearch API Spec.
8
+ # Update the code generation logic instead of modifying this file directly.
9
+
10
+ # frozen_string_literal: true
11
+
12
+ module OpenSearch
13
+ module API
14
+ module Http
15
+ module Actions
16
+ # Make a customized DELETE request.
17
+ #
18
+ # @option arguments [String] :url Relative path to the endpoint (e.g. 'cat/indices/books,movies') (*Required*)
19
+ # @option arguments [Hash] :params Querystring parameters to be appended to the path
20
+ # @option arguments [Hash] :headers Custom HTTP headers
21
+ # @option arguments [String | Hash | Array<Hash>] :body The body of the request
22
+ def delete(url, headers: {}, body: nil, params: {})
23
+ request('DELETE', url, headers: headers, body: body, params: params)
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
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 code was generated from OpenSearch API Spec.
8
+ # Update the code generation logic instead of modifying this file directly.
9
+
10
+ # frozen_string_literal: true
11
+
12
+ module OpenSearch
13
+ module API
14
+ module Http
15
+ module Actions
16
+ # Make a customized GET request.
17
+ #
18
+ # @option arguments [String] :url Relative path to the endpoint (e.g. 'cat/indices/books,movies') (*Required*)
19
+ # @option arguments [Hash] :params Querystring parameters to be appended to the path
20
+ # @option arguments [Hash] :headers Custom HTTP headers
21
+ # @option arguments [String | Hash | Array<Hash>] :body The body of the request
22
+ def get(url, headers: {}, body: nil, params: {})
23
+ request('GET', url, headers: headers, body: body, params: params)
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
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 code was generated from OpenSearch API Spec.
8
+ # Update the code generation logic instead of modifying this file directly.
9
+
10
+ # frozen_string_literal: true
11
+
12
+ module OpenSearch
13
+ module API
14
+ module Http
15
+ module Actions
16
+ # Make a customized HEAD request.
17
+ #
18
+ # @option arguments [String] :url Relative path to the endpoint (e.g. 'cat/indices/books,movies') (*Required*)
19
+ # @option arguments [Hash] :params Querystring parameters to be appended to the path
20
+ # @option arguments [Hash] :headers Custom HTTP headers
21
+ # @option arguments [String | Hash | Array<Hash>] :body The body of the request
22
+ def head(url, headers: {}, body: nil, params: {})
23
+ request('HEAD', url, headers: headers, body: body, params: params)
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
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 code was generated from OpenSearch API Spec.
8
+ # Update the code generation logic instead of modifying this file directly.
9
+
10
+ # frozen_string_literal: true
11
+
12
+ module OpenSearch
13
+ module API
14
+ module Http
15
+ module Actions
16
+ # Make a customized OPTIONS request.
17
+ #
18
+ # @option arguments [String] :url Relative path to the endpoint (e.g. 'cat/indices/books,movies') (*Required*)
19
+ # @option arguments [Hash] :params Querystring parameters to be appended to the path
20
+ # @option arguments [Hash] :headers Custom HTTP headers
21
+ # @option arguments [String | Hash | Array<Hash>] :body The body of the request
22
+ def options(url, headers: {}, body: nil, params: {})
23
+ request('OPTIONS', url, headers: headers, body: body, params: params)
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
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 code was generated from OpenSearch API Spec.
8
+ # Update the code generation logic instead of modifying this file directly.
9
+
10
+ # frozen_string_literal: true
11
+
12
+ module OpenSearch
13
+ module API
14
+ module Http
15
+ module Actions
16
+ # Make a customized PATCH request.
17
+ #
18
+ # @option arguments [String] :url Relative path to the endpoint (e.g. 'cat/indices/books,movies') (*Required*)
19
+ # @option arguments [Hash] :params Querystring parameters to be appended to the path
20
+ # @option arguments [Hash] :headers Custom HTTP headers
21
+ # @option arguments [String | Hash | Array<Hash>] :body The body of the request
22
+ def patch(url, headers: {}, body: nil, params: {})
23
+ request('PATCH', url, headers: headers, body: body, params: params)
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
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 code was generated from OpenSearch API Spec.
8
+ # Update the code generation logic instead of modifying this file directly.
9
+
10
+ # frozen_string_literal: true
11
+
12
+ module OpenSearch
13
+ module API
14
+ module Http
15
+ module Actions
16
+ # Make a customized POST request.
17
+ #
18
+ # @option arguments [String] :url Relative path to the endpoint (e.g. 'cat/indices/books,movies') (*Required*)
19
+ # @option arguments [Hash] :params Querystring parameters to be appended to the path
20
+ # @option arguments [Hash] :headers Custom HTTP headers
21
+ # @option arguments [String | Hash | Array<Hash>] :body The body of the request
22
+ def post(url, headers: {}, body: nil, params: {})
23
+ request('POST', url, headers: headers, body: body, params: params)
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
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 code was generated from OpenSearch API Spec.
8
+ # Update the code generation logic instead of modifying this file directly.
9
+
10
+ # frozen_string_literal: true
11
+
12
+ module OpenSearch
13
+ module API
14
+ module Http
15
+ module Actions
16
+ # Make a customized PUT request.
17
+ #
18
+ # @option arguments [String] :url Relative path to the endpoint (e.g. 'cat/indices/books,movies') (*Required*)
19
+ # @option arguments [Hash] :params Querystring parameters to be appended to the path
20
+ # @option arguments [Hash] :headers Custom HTTP headers
21
+ # @option arguments [String | Hash | Array<Hash>] :body The body of the request
22
+ def put(url, headers: {}, body: nil, params: {})
23
+ request('PUT', url, headers: headers, body: body, params: params)
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,27 @@
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 code was generated from OpenSearch API Spec.
8
+ # Update the code generation logic instead of modifying this file directly.
9
+
10
+ # frozen_string_literal: true
11
+
12
+ module OpenSearch
13
+ module API
14
+ module Http
15
+ module Actions
16
+ private
17
+
18
+ def request(method, url, headers: {}, body: nil, params: {})
19
+ body = OpenSearch::API::Utils.__bulkify(body) if body.is_a?(Array)
20
+ headers.merge!('Content-Type' => 'application/x-ndjson') if body.is_a?(Array)
21
+
22
+ perform_request(method, url, params, body, headers).body
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,28 @@
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 code was generated from OpenSearch API Spec.
8
+ # Update the code generation logic instead of modifying this file directly.
9
+
10
+ # frozen_string_literal: true
11
+
12
+ module OpenSearch
13
+ module API
14
+ module Http
15
+ module Actions
16
+ # Make a customized TRACE request.
17
+ #
18
+ # @option arguments [String] :url Relative path to the endpoint (e.g. 'cat/indices/books,movies') (*Required*)
19
+ # @option arguments [Hash] :params Querystring parameters to be appended to the path
20
+ # @option arguments [Hash] :headers Custom HTTP headers
21
+ # @option arguments [String | Hash | Array<Hash>] :body The body of the request
22
+ def trace(url, headers: {}, body: nil, params: {})
23
+ request('TRACE', url, headers: headers, body: body, params: params)
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,96 @@
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
+ # Modifications Copyright OpenSearch Contributors. See
8
+ # GitHub history for details.
9
+ #
10
+ # Licensed to Elasticsearch B.V. under one or more contributor
11
+ # license agreements. See the NOTICE file distributed with
12
+ # this work for additional information regarding copyright
13
+ # ownership. Elasticsearch B.V. licenses this file to you under
14
+ # the Apache License, Version 2.0 (the "License"); you may
15
+ # not use this file except in compliance with the License.
16
+ # You may obtain a copy of the License at
17
+ #
18
+ # http://www.apache.org/licenses/LICENSE-2.0
19
+ #
20
+ # Unless required by applicable law or agreed to in writing,
21
+ # software distributed under the License is distributed on an
22
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
23
+ # KIND, either express or implied. See the License for the
24
+ # specific language governing permissions and limitations
25
+ # under the License.
26
+
27
+ module OpenSearch
28
+ module API
29
+ module Actions
30
+ # Creates or updates a document in an index.
31
+ #
32
+ # @option arguments [String] :id Document ID
33
+ # @option arguments [String] :index The name of the index
34
+ # @option arguments [String] :wait_for_active_shards Sets the number of shard copies that must be active before proceeding with the index operation. Defaults to 1, meaning the primary shard only. Set to `all` for all shard copies, otherwise set to any non-negative value less than or equal to the total number of copies for the shard (number of replicas + 1)
35
+ # @option arguments [String] :op_type Explicit operation type. Defaults to `index` for requests with an explicit document ID, and to `create`for requests without an explicit document ID (options: index, create)
36
+ # @option arguments [String] :refresh If `true` then refresh the affected shards to make this operation visible to search, if `wait_for` then wait for a refresh to make this operation visible to search, if `false` (the default) then do nothing with refreshes. (options: true, false, wait_for)
37
+ # @option arguments [String] :routing Specific routing value
38
+ # @option arguments [Time] :timeout Explicit operation timeout
39
+ # @option arguments [Number] :version Explicit version number for concurrency control
40
+ # @option arguments [String] :version_type Specific version type (options: internal, external, external_gte)
41
+ # @option arguments [Number] :if_seq_no only perform the index operation if the last operation that has changed the document has the specified sequence number
42
+ # @option arguments [Number] :if_primary_term only perform the index operation if the last operation that has changed the document has the specified primary term
43
+ # @option arguments [String] :pipeline The pipeline id to preprocess incoming documents with
44
+ # @option arguments [Boolean] :require_alias When true, requires destination to be an alias. Default is false
45
+ # @option arguments [Hash] :headers Custom HTTP headers
46
+ # @option arguments [Hash] :body The document (*Required*)
47
+ #
48
+ # *Deprecation notice*:
49
+ # Specifying types in urls has been deprecated
50
+ # Deprecated since version 7.0.0
51
+ #
52
+ #
53
+ #
54
+ def index(arguments = {})
55
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
56
+ raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
57
+
58
+ headers = arguments.delete(:headers) || {}
59
+
60
+ arguments = arguments.clone
61
+
62
+ _id = arguments.delete(:id)
63
+
64
+ _index = arguments.delete(:index)
65
+
66
+ method = _id ? OpenSearch::API::HTTP_PUT : OpenSearch::API::HTTP_POST
67
+ path = if _index && _id
68
+ "#{Utils.__listify(_index)}/_doc/#{Utils.__listify(_id)}"
69
+ else
70
+ "#{Utils.__listify(_index)}/_doc"
71
+ end
72
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
73
+
74
+ body = arguments[:body]
75
+ perform_request(method, path, params, body, headers).body
76
+ end
77
+
78
+ # Register this action with its valid params when the module is loaded.
79
+ #
80
+ # @since 6.2.0
81
+ ParamsRegistry.register(:index, %i[
82
+ wait_for_active_shards
83
+ op_type
84
+ refresh
85
+ routing
86
+ timeout
87
+ version
88
+ version_type
89
+ if_seq_no
90
+ if_primary_term
91
+ pipeline
92
+ require_alias
93
+ ].freeze)
94
+ end
95
+ end
96
+ end