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,78 @@
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 Indices
30
+ module Actions
31
+ # Adds a block to an index.
32
+ #
33
+ # @option arguments [List] :index A comma separated list of indices to add a block to
34
+ # @option arguments [String] :block The block to add (one of read, write, read_only or metadata)
35
+ # @option arguments [Time] :timeout Explicit operation timeout
36
+ # @option arguments [Time] :master_timeout (DEPRECATED: use cluster_manager_timeout instead) Specify timeout for connection to master
37
+ # @option arguments [Time] :cluster_manager_timeout Specify timeout for connection to cluster_manager
38
+ # @option arguments [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when unavailable (missing or closed)
39
+ # @option arguments [Boolean] :allow_no_indices Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified)
40
+ # @option arguments [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that are open, closed or both. (options: open, closed, hidden, none, all)
41
+ # @option arguments [Hash] :headers Custom HTTP headers
42
+ #
43
+ #
44
+ def add_block(arguments = {})
45
+ raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
46
+ raise ArgumentError, "Required argument 'block' missing" unless arguments[:block]
47
+
48
+ headers = arguments.delete(:headers) || {}
49
+
50
+ arguments = arguments.clone
51
+
52
+ _index = arguments.delete(:index)
53
+
54
+ _block = arguments.delete(:block)
55
+
56
+ method = OpenSearch::API::HTTP_PUT
57
+ path = "#{Utils.__listify(_index)}/_block/#{Utils.__listify(_block)}"
58
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
59
+
60
+ body = nil
61
+ perform_request(method, path, params, body, headers).body
62
+ end
63
+
64
+ # Register this action with its valid params when the module is loaded.
65
+ #
66
+ # @since 6.2.0
67
+ ParamsRegistry.register(:add_block, %i[
68
+ timeout
69
+ master_timeout
70
+ cluster_manager_timeout
71
+ ignore_unavailable
72
+ allow_no_indices
73
+ expand_wildcards
74
+ ].freeze)
75
+ end
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,71 @@
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 Indices
30
+ module Actions
31
+ # Performs the analysis process on a text and return the tokens breakdown of the text.
32
+ #
33
+ # @option arguments [String] :index The name of the index to scope the operation
34
+ # @option arguments [Hash] :headers Custom HTTP headers
35
+ # @option arguments [Hash] :body Define analyzer/tokenizer parameters and the text on which the analysis should be performed
36
+ #
37
+ #
38
+ def analyze(arguments = {})
39
+ headers = arguments.delete(:headers) || {}
40
+
41
+ arguments = arguments.clone
42
+
43
+ _index = arguments.delete(:index)
44
+
45
+ method = if arguments[:body]
46
+ OpenSearch::API::HTTP_POST
47
+ else
48
+ OpenSearch::API::HTTP_GET
49
+ end
50
+
51
+ path = if _index
52
+ "#{Utils.__listify(_index)}/_analyze"
53
+ else
54
+ '_analyze'
55
+ end
56
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
57
+
58
+ body = arguments[:body]
59
+ perform_request(method, path, params, body, headers).body
60
+ end
61
+
62
+ # Register this action with its valid params when the module is loaded.
63
+ #
64
+ # @since 6.2.0
65
+ ParamsRegistry.register(:analyze, [
66
+ :index
67
+ ].freeze)
68
+ end
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,79 @@
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 Indices
30
+ module Actions
31
+ # Clears all or specific caches for one or more indices.
32
+ #
33
+ # @option arguments [List] :index A comma-separated list of index name to limit the operation
34
+ # @option arguments [Boolean] :fielddata Clear field data
35
+ # @option arguments [List] :fields A comma-separated list of fields to clear when using the `fielddata` parameter (default: all)
36
+ # @option arguments [Boolean] :query Clear query caches
37
+ # @option arguments [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when unavailable (missing or closed)
38
+ # @option arguments [Boolean] :allow_no_indices Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified)
39
+ # @option arguments [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that are open, closed or both. (options: open, closed, hidden, none, all)
40
+ # @option arguments [Boolean] :request Clear request cache
41
+ # @option arguments [Hash] :headers Custom HTTP headers
42
+ #
43
+ #
44
+ def clear_cache(arguments = {})
45
+ headers = arguments.delete(:headers) || {}
46
+
47
+ arguments = arguments.clone
48
+
49
+ _index = arguments.delete(:index)
50
+
51
+ method = OpenSearch::API::HTTP_POST
52
+ path = if _index
53
+ "#{Utils.__listify(_index)}/_cache/clear"
54
+ else
55
+ '_cache/clear'
56
+ end
57
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
58
+
59
+ body = nil
60
+ perform_request(method, path, params, body, headers).body
61
+ end
62
+
63
+ # Register this action with its valid params when the module is loaded.
64
+ #
65
+ # @since 6.2.0
66
+ ParamsRegistry.register(:clear_cache, %i[
67
+ fielddata
68
+ fields
69
+ query
70
+ ignore_unavailable
71
+ allow_no_indices
72
+ expand_wildcards
73
+ index
74
+ request
75
+ ].freeze)
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,75 @@
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 Indices
30
+ module Actions
31
+ # Clones an index
32
+ #
33
+ # @option arguments [String] :index The name of the source index to clone
34
+ # @option arguments [String] :target The name of the target index to clone into
35
+ # @option arguments [Time] :timeout Explicit operation timeout
36
+ # @option arguments [Time] :master_timeout (DEPRECATED: use cluster_manager_timeout instead) Specify timeout for connection to master
37
+ # @option arguments [Time] :cluster_manager_timeout Specify timeout for connection to cluster_manager
38
+ # @option arguments [String] :wait_for_active_shards Set the number of active shards to wait for on the cloned index before the operation returns.
39
+ # @option arguments [Hash] :headers Custom HTTP headers
40
+ # @option arguments [Hash] :body The configuration for the target index (`settings` and `aliases`)
41
+ #
42
+ #
43
+ def clone(arguments = {})
44
+ raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
45
+ raise ArgumentError, "Required argument 'target' missing" unless arguments[:target]
46
+
47
+ headers = arguments.delete(:headers) || {}
48
+
49
+ arguments = arguments.clone
50
+
51
+ _index = arguments.delete(:index)
52
+
53
+ _target = arguments.delete(:target)
54
+
55
+ method = OpenSearch::API::HTTP_PUT
56
+ path = "#{Utils.__listify(_index)}/_clone/#{Utils.__listify(_target)}"
57
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
58
+
59
+ body = arguments[:body]
60
+ perform_request(method, path, params, body, headers).body
61
+ end
62
+
63
+ # Register this action with its valid params when the module is loaded.
64
+ #
65
+ # @since 6.2.0
66
+ ParamsRegistry.register(:clone, %i[
67
+ timeout
68
+ master_timeout
69
+ cluster_manager_timeout
70
+ wait_for_active_shards
71
+ ].freeze)
72
+ end
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,76 @@
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 Indices
30
+ module Actions
31
+ # Closes an index.
32
+ #
33
+ # @option arguments [List] :index A comma separated list of indices to close
34
+ # @option arguments [Time] :timeout Explicit operation timeout
35
+ # @option arguments [Time] :master_timeout (DEPRECATED: use cluster_manager_timeout instead) Specify timeout for connection to master
36
+ # @option arguments [Time] :cluster_manager_timeout Specify timeout for connection to cluster_manager
37
+ # @option arguments [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when unavailable (missing or closed)
38
+ # @option arguments [Boolean] :allow_no_indices Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified)
39
+ # @option arguments [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that are open, closed or both. (options: open, closed, hidden, none, all)
40
+ # @option arguments [String] :wait_for_active_shards Sets the number of active shards to wait for before the operation returns. Set to `index-setting` to wait according to the index setting `index.write.wait_for_active_shards`, or `all` to wait for all shards, or an integer. Defaults to `0`.
41
+ # @option arguments [Hash] :headers Custom HTTP headers
42
+ #
43
+ #
44
+ def close(arguments = {})
45
+ raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
46
+
47
+ headers = arguments.delete(:headers) || {}
48
+
49
+ arguments = arguments.clone
50
+
51
+ _index = arguments.delete(:index)
52
+
53
+ method = OpenSearch::API::HTTP_POST
54
+ path = "#{Utils.__listify(_index)}/_close"
55
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
56
+
57
+ body = nil
58
+ perform_request(method, path, params, body, headers).body
59
+ end
60
+
61
+ # Register this action with its valid params when the module is loaded.
62
+ #
63
+ # @since 6.2.0
64
+ ParamsRegistry.register(:close, %i[
65
+ timeout
66
+ master_timeout
67
+ cluster_manager_timeout
68
+ ignore_unavailable
69
+ allow_no_indices
70
+ expand_wildcards
71
+ wait_for_active_shards
72
+ ].freeze)
73
+ end
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,71 @@
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 Indices
30
+ module Actions
31
+ # Creates an index with optional settings and mappings.
32
+ #
33
+ # @option arguments [String] :index The name of the index
34
+ # @option arguments [String] :wait_for_active_shards Set the number of active shards to wait for before the operation returns.
35
+ # @option arguments [Time] :timeout Explicit operation timeout
36
+ # @option arguments [Time] :master_timeout (DEPRECATED: use cluster_manager_timeout instead) Specify timeout for connection to master
37
+ # @option arguments [Time] :cluster_manager_timeout Specify timeout for connection to cluster_manager
38
+ # @option arguments [Hash] :headers Custom HTTP headers
39
+ # @option arguments [Hash] :body The configuration for the index (`settings` and `mappings`)
40
+ #
41
+ #
42
+ def create(arguments = {})
43
+ raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
44
+
45
+ headers = arguments.delete(:headers) || {}
46
+
47
+ arguments = arguments.clone
48
+
49
+ _index = arguments.delete(:index)
50
+
51
+ method = OpenSearch::API::HTTP_PUT
52
+ path = Utils.__listify(_index).to_s
53
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
54
+
55
+ body = arguments[:body]
56
+ perform_request(method, path, params, body, headers).body
57
+ end
58
+
59
+ # Register this action with its valid params when the module is loaded.
60
+ #
61
+ # @since 6.2.0
62
+ ParamsRegistry.register(:create, %i[
63
+ wait_for_active_shards
64
+ timeout
65
+ master_timeout
66
+ cluster_manager_timeout
67
+ ].freeze)
68
+ end
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,78 @@
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 Indices
30
+ module Actions
31
+ # Deletes an index.
32
+ #
33
+ # @option arguments [List] :index A comma-separated list of indices to delete; use `_all` or `*` string to delete all indices
34
+ # @option arguments [Time] :timeout Explicit operation timeout
35
+ # @option arguments [Time] :master_timeout (DEPRECATED: use cluster_manager_timeout instead) Specify timeout for connection to master
36
+ # @option arguments [Time] :cluster_manager_timeout Specify timeout for connection to cluster_manager
37
+ # @option arguments [Boolean] :ignore_unavailable Ignore unavailable indexes (default: false)
38
+ # @option arguments [Boolean] :allow_no_indices Ignore if a wildcard expression resolves to no concrete indices (default: false)
39
+ # @option arguments [String] :expand_wildcards Whether wildcard expressions should get expanded to open or closed indices (default: open) (options: open, closed, hidden, none, all)
40
+ # @option arguments [Hash] :headers Custom HTTP headers
41
+ #
42
+ #
43
+ def delete(arguments = {})
44
+ raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
45
+
46
+ headers = arguments.delete(:headers) || {}
47
+
48
+ arguments = arguments.clone
49
+
50
+ _index = arguments.delete(:index)
51
+
52
+ method = OpenSearch::API::HTTP_DELETE
53
+ path = Utils.__listify(_index).to_s
54
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
55
+
56
+ body = nil
57
+ if Array(arguments[:ignore]).include?(404)
58
+ Utils.__rescue_from_not_found { perform_request(method, path, params, body, headers).body }
59
+ else
60
+ perform_request(method, path, params, body, headers).body
61
+ end
62
+ end
63
+
64
+ # Register this action with its valid params when the module is loaded.
65
+ #
66
+ # @since 6.2.0
67
+ ParamsRegistry.register(:delete, %i[
68
+ timeout
69
+ master_timeout
70
+ cluster_manager_timeout
71
+ ignore_unavailable
72
+ allow_no_indices
73
+ expand_wildcards
74
+ ].freeze)
75
+ end
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,72 @@
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 Indices
30
+ module Actions
31
+ # Deletes an alias.
32
+ #
33
+ # @option arguments [List] :index A comma-separated list of index names (supports wildcards); use `_all` for all indices
34
+ # @option arguments [List] :name A comma-separated list of aliases to delete (supports wildcards); use `_all` to delete all aliases for the specified indices.
35
+ # @option arguments [Time] :timeout Explicit timestamp for the document
36
+ # @option arguments [Time] :master_timeout (DEPRECATED: use cluster_manager_timeout instead) Specify timeout for connection to master
37
+ # @option arguments [Time] :cluster_manager_timeout Specify timeout for connection to cluster_manager
38
+ # @option arguments [Hash] :headers Custom HTTP headers
39
+ #
40
+ #
41
+ def delete_alias(arguments = {})
42
+ raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
43
+ raise ArgumentError, "Required argument 'name' missing" unless arguments[:name]
44
+
45
+ headers = arguments.delete(:headers) || {}
46
+
47
+ arguments = arguments.clone
48
+
49
+ _index = arguments.delete(:index)
50
+
51
+ _name = arguments.delete(:name)
52
+
53
+ method = OpenSearch::API::HTTP_DELETE
54
+ path = ("#{Utils.__listify(_index)}/_aliases/#{Utils.__listify(_name)}" if _index && _name)
55
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
56
+
57
+ body = nil
58
+ perform_request(method, path, params, body, headers).body
59
+ end
60
+
61
+ # Register this action with its valid params when the module is loaded.
62
+ #
63
+ # @since 6.2.0
64
+ ParamsRegistry.register(:delete_alias, %i[
65
+ timeout
66
+ master_timeout
67
+ cluster_manager_timeout
68
+ ].freeze)
69
+ end
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,68 @@
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 Indices
30
+ module Actions
31
+ # Deletes an index template.
32
+ #
33
+ # @option arguments [String] :name The name of the template
34
+ # @option arguments [Time] :timeout Explicit operation timeout
35
+ # @option arguments [Time] :master_timeout (DEPRECATED: use cluster_manager_timeout instead) Specify timeout for connection to master
36
+ # @option arguments [Time] :cluster_manager_timeout Specify timeout for connection to cluster_manager
37
+ # @option arguments [Hash] :headers Custom HTTP headers
38
+ #
39
+ #
40
+ def delete_index_template(arguments = {})
41
+ raise ArgumentError, "Required argument 'name' missing" unless arguments[:name]
42
+
43
+ headers = arguments.delete(:headers) || {}
44
+
45
+ arguments = arguments.clone
46
+
47
+ _name = arguments.delete(:name)
48
+
49
+ method = OpenSearch::API::HTTP_DELETE
50
+ path = "_index_template/#{Utils.__listify(_name)}"
51
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
52
+
53
+ body = nil
54
+ perform_request(method, path, params, body, headers).body
55
+ end
56
+
57
+ # Register this action with its valid params when the module is loaded.
58
+ #
59
+ # @since 6.2.0
60
+ ParamsRegistry.register(:delete_index_template, %i[
61
+ timeout
62
+ master_timeout
63
+ cluster_manager_timeout
64
+ ].freeze)
65
+ end
66
+ end
67
+ end
68
+ end