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,59 @@
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 Cluster
30
+ module Actions
31
+ # Clears cluster voting config exclusions.
32
+ #
33
+ # @option arguments [Boolean] :wait_for_removal Specifies whether to wait for all excluded nodes to be removed from the cluster before clearing the voting configuration exclusions list.
34
+ # @option arguments [Hash] :headers Custom HTTP headers
35
+ #
36
+ #
37
+ def delete_voting_config_exclusions(arguments = {})
38
+ headers = arguments.delete(:headers) || {}
39
+
40
+ arguments = arguments.clone
41
+
42
+ method = OpenSearch::API::HTTP_DELETE
43
+ path = '_cluster/voting_config_exclusions'
44
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
45
+
46
+ body = nil
47
+ perform_request(method, path, params, body, headers).body
48
+ end
49
+
50
+ # Register this action with its valid params when the module is loaded.
51
+ #
52
+ # @since 6.2.0
53
+ ParamsRegistry.register(:delete_voting_config_exclusions, [
54
+ :wait_for_removal
55
+ ].freeze)
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,70 @@
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 Cluster
30
+ module Actions
31
+ # Returns information about whether a particular component template exist
32
+ #
33
+ # @option arguments [String] :name The name of the template
34
+ # @option arguments [Time] :master_timeout (DEPRECATED: use cluster_manager_timeout instead) Explicit operation timeout for connection to master node
35
+ # @option arguments [Time] :cluster_manager_timeout Explicit operation timeout for connection to cluster_manager node
36
+ # @option arguments [Boolean] :local Return local information, do not retrieve the state from cluster_manager node (default: false)
37
+ # @option arguments [Hash] :headers Custom HTTP headers
38
+ #
39
+ #
40
+ def exists_component_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_HEAD
50
+ path = "_component_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
+ alias exists_component_template? exists_component_template
58
+
59
+ # Register this action with its valid params when the module is loaded.
60
+ #
61
+ # @since 6.2.0
62
+ ParamsRegistry.register(:exists_component_template, %i[
63
+ master_timeout
64
+ cluster_manager_timeout
65
+ local
66
+ ].freeze)
67
+ end
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,70 @@
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 Cluster
30
+ module Actions
31
+ # Returns one or more component templates
32
+ #
33
+ # @option arguments [List] :name The comma separated names of the component templates
34
+ # @option arguments [Time] :master_timeout (DEPRECATED: use cluster_manager_timeout instead) Explicit operation timeout for connection to master node
35
+ # @option arguments [Time] :cluster_manager_timeout Explicit operation timeout for connection to cluster_manager node
36
+ # @option arguments [Boolean] :local Return local information, do not retrieve the state from cluster_manager node (default: false)
37
+ # @option arguments [Hash] :headers Custom HTTP headers
38
+ #
39
+ #
40
+ def get_component_template(arguments = {})
41
+ headers = arguments.delete(:headers) || {}
42
+
43
+ arguments = arguments.clone
44
+
45
+ _name = arguments.delete(:name)
46
+
47
+ method = OpenSearch::API::HTTP_GET
48
+ path = if _name
49
+ "_component_template/#{Utils.__listify(_name)}"
50
+ else
51
+ '_component_template'
52
+ end
53
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
54
+
55
+ body = nil
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(:get_component_template, %i[
63
+ master_timeout
64
+ cluster_manager_timeout
65
+ local
66
+ ].freeze)
67
+ end
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,67 @@
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 Cluster
30
+ module Actions
31
+ # Returns cluster settings.
32
+ #
33
+ # @option arguments [Boolean] :flat_settings Return settings in flat format (default: false)
34
+ # @option arguments [Time] :master_timeout (DEPRECATED: use cluster_manager_timeout instead) Explicit operation timeout for connection to master node
35
+ # @option arguments [Time] :cluster_manager_timeout Explicit operation timeout for connection to cluster_manager node
36
+ # @option arguments [Time] :timeout Explicit operation timeout
37
+ # @option arguments [Boolean] :include_defaults Whether to return all default clusters setting.
38
+ # @option arguments [Hash] :headers Custom HTTP headers
39
+ #
40
+ #
41
+ def get_settings(arguments = {})
42
+ headers = arguments.delete(:headers) || {}
43
+
44
+ arguments = arguments.clone
45
+
46
+ method = OpenSearch::API::HTTP_GET
47
+ path = '_cluster/settings'
48
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
49
+
50
+ body = nil
51
+ perform_request(method, path, params, body, headers).body
52
+ end
53
+
54
+ # Register this action with its valid params when the module is loaded.
55
+ #
56
+ # @since 6.2.0
57
+ ParamsRegistry.register(:get_settings, %i[
58
+ flat_settings
59
+ master_timeout
60
+ cluster_manager_timeout
61
+ timeout
62
+ include_defaults
63
+ ].freeze)
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,88 @@
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 Cluster
30
+ module Actions
31
+ # Returns basic information about the health of the cluster.
32
+ #
33
+ # @option arguments [List] :index Limit the information returned to a specific index
34
+ # @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)
35
+ # @option arguments [String] :level Specify the level of detail for returned information (options: cluster, indices, shards)
36
+ # @option arguments [Boolean] :local Return local information, do not retrieve the state from cluster_manager node (default: false)
37
+ # @option arguments [Time] :master_timeout (DEPRECATED: use cluster_manager_timeout instead) Explicit operation timeout for connection to master node
38
+ # @option arguments [Time] :cluster_manager_timeout Explicit operation timeout for connection to cluster_manager node
39
+ # @option arguments [Time] :timeout Explicit operation timeout
40
+ # @option arguments [String] :wait_for_active_shards Wait until the specified number of shards is active
41
+ # @option arguments [String] :wait_for_nodes Wait until the specified number of nodes is available
42
+ # @option arguments [String] :wait_for_events Wait until all currently queued events with the given priority are processed (options: immediate, urgent, high, normal, low, languid)
43
+ # @option arguments [Boolean] :wait_for_no_relocating_shards Whether to wait until there are no relocating shards in the cluster
44
+ # @option arguments [Boolean] :wait_for_no_initializing_shards Whether to wait until there are no initializing shards in the cluster
45
+ # @option arguments [String] :wait_for_status Wait until cluster is in a specific state (options: green, yellow, red)
46
+ # @option arguments [Hash] :headers Custom HTTP headers
47
+ #
48
+ #
49
+ def health(arguments = {})
50
+ headers = arguments.delete(:headers) || {}
51
+
52
+ arguments = arguments.clone
53
+
54
+ _index = arguments.delete(:index)
55
+
56
+ method = OpenSearch::API::HTTP_GET
57
+ path = if _index
58
+ "_cluster/health/#{Utils.__listify(_index)}"
59
+ else
60
+ '_cluster/health'
61
+ end
62
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
63
+
64
+ body = nil
65
+ perform_request(method, path, params, body, headers).body
66
+ end
67
+
68
+ # Register this action with its valid params when the module is loaded.
69
+ #
70
+ # @since 6.2.0
71
+ ParamsRegistry.register(:health, %i[
72
+ expand_wildcards
73
+ level
74
+ local
75
+ master_timeout
76
+ cluster_manager_timeout
77
+ timeout
78
+ wait_for_active_shards
79
+ wait_for_nodes
80
+ wait_for_events
81
+ wait_for_no_relocating_shards
82
+ wait_for_no_initializing_shards
83
+ wait_for_status
84
+ ].freeze)
85
+ end
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,69 @@
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 Cluster
30
+ module Actions
31
+ module ParamsRegistry
32
+ extend self
33
+
34
+ # A Mapping of all the actions to their list of valid params.
35
+ #
36
+ # @since 6.1.1
37
+ PARAMS = {}
38
+
39
+ # Register an action with its list of valid params.
40
+ #
41
+ # @example Register the action.
42
+ # ParamsRegistry.register(:benchmark, [ :verbose ])
43
+ #
44
+ # @param [ Symbol ] action The action to register.
45
+ # @param [ Array[Symbol] ] valid_params The list of valid params.
46
+ #
47
+ # @since 6.1.1
48
+ def register(action, valid_params)
49
+ PARAMS[action.to_sym] = valid_params
50
+ end
51
+
52
+ # Get the list of valid params for a given action.
53
+ #
54
+ # @example Get the list of valid params.
55
+ # ParamsRegistry.get(:benchmark)
56
+ #
57
+ # @param [ Symbol ] action The action.
58
+ #
59
+ # @return [ Array<Symbol> ] The list of valid params for the action.
60
+ #
61
+ # @since 6.1.1
62
+ def get(action)
63
+ PARAMS.fetch(action, [])
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
@@ -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 Cluster
30
+ module Actions
31
+ # Returns a list of any cluster-level changes (e.g. create index, update mapping,
32
+ # allocate or fail shard) which have not yet been executed.
33
+ #
34
+ # @option arguments [Boolean] :local Return local information, do not retrieve the state from cluster_manager node (default: false)
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 pending_tasks(arguments = {})
41
+ headers = arguments.delete(:headers) || {}
42
+
43
+ arguments = arguments.clone
44
+
45
+ method = OpenSearch::API::HTTP_GET
46
+ path = '_cluster/pending_tasks'
47
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
48
+
49
+ body = nil
50
+ perform_request(method, path, params, body, headers).body
51
+ end
52
+
53
+ # Register this action with its valid params when the module is loaded.
54
+ #
55
+ # @since 6.2.0
56
+ ParamsRegistry.register(:pending_tasks, %i[
57
+ local
58
+ master_timeout
59
+ cluster_manager_timeout
60
+ ].freeze)
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,63 @@
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 Cluster
30
+ module Actions
31
+ # Updates the cluster voting config exclusions by node ids or node names.
32
+ #
33
+ # @option arguments [String] :node_ids A comma-separated list of the persistent ids of the nodes to exclude from the voting configuration. If specified, you may not also specify ?node_names.
34
+ # @option arguments [String] :node_names A comma-separated list of the names of the nodes to exclude from the voting configuration. If specified, you may not also specify ?node_ids.
35
+ # @option arguments [Time] :timeout Explicit operation timeout
36
+ # @option arguments [Hash] :headers Custom HTTP headers
37
+ #
38
+ #
39
+ def post_voting_config_exclusions(arguments = {})
40
+ headers = arguments.delete(:headers) || {}
41
+
42
+ arguments = arguments.clone
43
+
44
+ method = OpenSearch::API::HTTP_POST
45
+ path = '_cluster/voting_config_exclusions'
46
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
47
+
48
+ body = nil
49
+ perform_request(method, path, params, body, headers).body
50
+ end
51
+
52
+ # Register this action with its valid params when the module is loaded.
53
+ #
54
+ # @since 6.2.0
55
+ ParamsRegistry.register(:post_voting_config_exclusions, %i[
56
+ node_ids
57
+ node_names
58
+ timeout
59
+ ].freeze)
60
+ end
61
+ end
62
+ end
63
+ 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 Cluster
30
+ module Actions
31
+ # Creates or updates a component template
32
+ #
33
+ # @option arguments [String] :name The name of the template
34
+ # @option arguments [Boolean] :create Whether the index template should only be added if new or can also replace an existing one
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 template definition (*Required*)
40
+ #
41
+ #
42
+ def put_component_template(arguments = {})
43
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
44
+ raise ArgumentError, "Required argument 'name' missing" unless arguments[:name]
45
+
46
+ headers = arguments.delete(:headers) || {}
47
+
48
+ arguments = arguments.clone
49
+
50
+ _name = arguments.delete(:name)
51
+
52
+ method = OpenSearch::API::HTTP_PUT
53
+ path = "_component_template/#{Utils.__listify(_name)}"
54
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
55
+
56
+ body = arguments[:body]
57
+ perform_request(method, path, params, body, headers).body
58
+ end
59
+
60
+ # Register this action with its valid params when the module is loaded.
61
+ #
62
+ # @since 6.2.0
63
+ ParamsRegistry.register(:put_component_template, %i[
64
+ create
65
+ timeout
66
+ master_timeout
67
+ cluster_manager_timeout
68
+ ].freeze)
69
+ end
70
+ end
71
+ end
72
+ end