opensearch-api 1.0.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 (347) hide show
  1. checksums.yaml +7 -0
  2. checksums.yaml.gz.sig +0 -0
  3. data/.gitignore +17 -0
  4. data/Gemfile +48 -0
  5. data/LICENSE +202 -0
  6. data/README.md +194 -0
  7. data/Rakefile +131 -0
  8. data/lib/opensearch/api/actions/abort_benchmark.rb +49 -0
  9. data/lib/opensearch/api/actions/benchmark.rb +89 -0
  10. data/lib/opensearch/api/actions/bulk.rb +97 -0
  11. data/lib/opensearch/api/actions/cat/aliases.rb +79 -0
  12. data/lib/opensearch/api/actions/cat/allocation.rb +81 -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 +91 -0
  18. data/lib/opensearch/api/actions/cat/master.rb +71 -0
  19. data/lib/opensearch/api/actions/cat/nodeattrs.rb +71 -0
  20. data/lib/opensearch/api/actions/cat/nodes.rb +80 -0
  21. data/lib/opensearch/api/actions/cat/params_registry.rb +69 -0
  22. data/lib/opensearch/api/actions/cat/pending_tasks.rb +74 -0
  23. data/lib/opensearch/api/actions/cat/plugins.rb +73 -0
  24. data/lib/opensearch/api/actions/cat/recovery.rb +84 -0
  25. data/lib/opensearch/api/actions/cat/repositories.rb +72 -0
  26. data/lib/opensearch/api/actions/cat/segments.rb +76 -0
  27. data/lib/opensearch/api/actions/cat/shards.rb +83 -0
  28. data/lib/opensearch/api/actions/cat/snapshots.rb +80 -0
  29. data/lib/opensearch/api/actions/cat/tasks.rb +77 -0
  30. data/lib/opensearch/api/actions/cat/templates.rb +78 -0
  31. data/lib/opensearch/api/actions/cat/thread_pool.rb +82 -0
  32. data/lib/opensearch/api/actions/clear_scroll.rb +62 -0
  33. data/lib/opensearch/api/actions/close_point_in_time.rb +50 -0
  34. data/lib/opensearch/api/actions/cluster/allocation_explain.rb +67 -0
  35. data/lib/opensearch/api/actions/cluster/delete_component_template.rb +66 -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 +68 -0
  38. data/lib/opensearch/api/actions/cluster/get_component_template.rb +68 -0
  39. data/lib/opensearch/api/actions/cluster/get_settings.rb +65 -0
  40. data/lib/opensearch/api/actions/cluster/health.rb +86 -0
  41. data/lib/opensearch/api/actions/cluster/params_registry.rb +69 -0
  42. data/lib/opensearch/api/actions/cluster/pending_tasks.rb +62 -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 +70 -0
  45. data/lib/opensearch/api/actions/cluster/put_settings.rb +66 -0
  46. data/lib/opensearch/api/actions/cluster/remote_info.rb +51 -0
  47. data/lib/opensearch/api/actions/cluster/reroute.rb +70 -0
  48. data/lib/opensearch/api/actions/cluster/state.rb +85 -0
  49. data/lib/opensearch/api/actions/cluster/stats.rb +68 -0
  50. data/lib/opensearch/api/actions/count.rb +101 -0
  51. data/lib/opensearch/api/actions/create.rb +61 -0
  52. data/lib/opensearch/api/actions/dangling_indices/delete_dangling_index.rb +68 -0
  53. data/lib/opensearch/api/actions/dangling_indices/import_dangling_index.rb +67 -0
  54. data/lib/opensearch/api/actions/dangling_indices/list_dangling_indices.rb +51 -0
  55. data/lib/opensearch/api/actions/dangling_indices/params_registry.rb +69 -0
  56. data/lib/opensearch/api/actions/delete.rb +96 -0
  57. data/lib/opensearch/api/actions/delete_by_query.rb +140 -0
  58. data/lib/opensearch/api/actions/delete_by_query_rethrottle.rb +62 -0
  59. data/lib/opensearch/api/actions/delete_by_rethrottle.rb +55 -0
  60. data/lib/opensearch/api/actions/delete_script.rb +64 -0
  61. data/lib/opensearch/api/actions/exists.rb +101 -0
  62. data/lib/opensearch/api/actions/exists_source.rb +96 -0
  63. data/lib/opensearch/api/actions/explain.rb +106 -0
  64. data/lib/opensearch/api/actions/features/get_features.rb +59 -0
  65. data/lib/opensearch/api/actions/features/params_registry.rb +69 -0
  66. data/lib/opensearch/api/actions/features/reset_features.rb +55 -0
  67. data/lib/opensearch/api/actions/field_caps.rb +78 -0
  68. data/lib/opensearch/api/actions/get.rb +100 -0
  69. data/lib/opensearch/api/actions/get_script.rb +62 -0
  70. data/lib/opensearch/api/actions/get_script_context.rb +53 -0
  71. data/lib/opensearch/api/actions/get_script_languages.rb +53 -0
  72. data/lib/opensearch/api/actions/get_source.rb +94 -0
  73. data/lib/opensearch/api/actions/index.rb +103 -0
  74. data/lib/opensearch/api/actions/indices/add_block.rb +76 -0
  75. data/lib/opensearch/api/actions/indices/analyze.rb +71 -0
  76. data/lib/opensearch/api/actions/indices/clear_cache.rb +79 -0
  77. data/lib/opensearch/api/actions/indices/clone.rb +73 -0
  78. data/lib/opensearch/api/actions/indices/close.rb +74 -0
  79. data/lib/opensearch/api/actions/indices/create.rb +71 -0
  80. data/lib/opensearch/api/actions/indices/delete.rb +76 -0
  81. data/lib/opensearch/api/actions/indices/delete_alias.rb +72 -0
  82. data/lib/opensearch/api/actions/indices/delete_index_template.rb +66 -0
  83. data/lib/opensearch/api/actions/indices/delete_template.rb +70 -0
  84. data/lib/opensearch/api/actions/indices/disk_usage.rb +76 -0
  85. data/lib/opensearch/api/actions/indices/exists.rb +79 -0
  86. data/lib/opensearch/api/actions/indices/exists_alias.rb +82 -0
  87. data/lib/opensearch/api/actions/indices/exists_index_template.rb +70 -0
  88. data/lib/opensearch/api/actions/indices/exists_template.rb +73 -0
  89. data/lib/opensearch/api/actions/indices/exists_type.rb +79 -0
  90. data/lib/opensearch/api/actions/indices/field_usage_stats.rb +74 -0
  91. data/lib/opensearch/api/actions/indices/flush.rb +74 -0
  92. data/lib/opensearch/api/actions/indices/flush_synced.rb +79 -0
  93. data/lib/opensearch/api/actions/indices/forcemerge.rb +76 -0
  94. data/lib/opensearch/api/actions/indices/get.rb +78 -0
  95. data/lib/opensearch/api/actions/indices/get_alias.rb +79 -0
  96. data/lib/opensearch/api/actions/indices/get_field_mapping.rb +92 -0
  97. data/lib/opensearch/api/actions/indices/get_index_template.rb +70 -0
  98. data/lib/opensearch/api/actions/indices/get_mapping.rb +88 -0
  99. data/lib/opensearch/api/actions/indices/get_settings.rb +85 -0
  100. data/lib/opensearch/api/actions/indices/get_template.rb +72 -0
  101. data/lib/opensearch/api/actions/indices/get_upgrade.rb +75 -0
  102. data/lib/opensearch/api/actions/indices/open.rb +74 -0
  103. data/lib/opensearch/api/actions/indices/params_registry.rb +69 -0
  104. data/lib/opensearch/api/actions/indices/put_alias.rb +73 -0
  105. data/lib/opensearch/api/actions/indices/put_index_template.rb +70 -0
  106. data/lib/opensearch/api/actions/indices/put_mapping.rb +91 -0
  107. data/lib/opensearch/api/actions/indices/put_settings.rb +81 -0
  108. data/lib/opensearch/api/actions/indices/put_template.rb +72 -0
  109. data/lib/opensearch/api/actions/indices/recovery.rb +68 -0
  110. data/lib/opensearch/api/actions/indices/refresh.rb +70 -0
  111. data/lib/opensearch/api/actions/indices/resolve_index.rb +68 -0
  112. data/lib/opensearch/api/actions/indices/rollover.rb +81 -0
  113. data/lib/opensearch/api/actions/indices/segments.rb +72 -0
  114. data/lib/opensearch/api/actions/indices/shard_stores.rb +72 -0
  115. data/lib/opensearch/api/actions/indices/shrink.rb +75 -0
  116. data/lib/opensearch/api/actions/indices/simulate_index_template.rb +69 -0
  117. data/lib/opensearch/api/actions/indices/simulate_template.rb +71 -0
  118. data/lib/opensearch/api/actions/indices/split.rb +75 -0
  119. data/lib/opensearch/api/actions/indices/stats.rb +100 -0
  120. data/lib/opensearch/api/actions/indices/update_aliases.rb +64 -0
  121. data/lib/opensearch/api/actions/indices/upgrade.rb +79 -0
  122. data/lib/opensearch/api/actions/indices/validate_query.rb +104 -0
  123. data/lib/opensearch/api/actions/info.rb +49 -0
  124. data/lib/opensearch/api/actions/ingest/delete_pipeline.rb +66 -0
  125. data/lib/opensearch/api/actions/ingest/geo_ip_stats.rb +51 -0
  126. data/lib/opensearch/api/actions/ingest/get_pipeline.rb +68 -0
  127. data/lib/opensearch/api/actions/ingest/params_registry.rb +69 -0
  128. data/lib/opensearch/api/actions/ingest/processor_grok.rb +51 -0
  129. data/lib/opensearch/api/actions/ingest/put_pipeline.rb +68 -0
  130. data/lib/opensearch/api/actions/ingest/simulate.rb +69 -0
  131. data/lib/opensearch/api/actions/mget.rb +91 -0
  132. data/lib/opensearch/api/actions/msearch.rb +112 -0
  133. data/lib/opensearch/api/actions/msearch_template.rb +96 -0
  134. data/lib/opensearch/api/actions/mtermvectors.rb +107 -0
  135. data/lib/opensearch/api/actions/nodes/hot_threads.rb +81 -0
  136. data/lib/opensearch/api/actions/nodes/info.rb +75 -0
  137. data/lib/opensearch/api/actions/nodes/params_registry.rb +69 -0
  138. data/lib/opensearch/api/actions/nodes/reload_secure_settings.rb +67 -0
  139. data/lib/opensearch/api/actions/nodes/shutdown.rb +65 -0
  140. data/lib/opensearch/api/actions/nodes/stats.rb +96 -0
  141. data/lib/opensearch/api/actions/nodes/usage.rb +73 -0
  142. data/lib/opensearch/api/actions/open_point_in_time.rb +72 -0
  143. data/lib/opensearch/api/actions/params_registry.rb +67 -0
  144. data/lib/opensearch/api/actions/ping.rb +57 -0
  145. data/lib/opensearch/api/actions/put_script.rb +74 -0
  146. data/lib/opensearch/api/actions/rank_eval.rb +77 -0
  147. data/lib/opensearch/api/actions/reindex.rb +76 -0
  148. data/lib/opensearch/api/actions/reindex_rethrottle.rb +62 -0
  149. data/lib/opensearch/api/actions/remote/info.rb +45 -0
  150. data/lib/opensearch/api/actions/render_search_template.rb +62 -0
  151. data/lib/opensearch/api/actions/scripts_painless_execute.rb +59 -0
  152. data/lib/opensearch/api/actions/scroll.rb +78 -0
  153. data/lib/opensearch/api/actions/search.rb +165 -0
  154. data/lib/opensearch/api/actions/search_shards.rb +74 -0
  155. data/lib/opensearch/api/actions/search_template.rb +101 -0
  156. data/lib/opensearch/api/actions/shutdown/delete_node.rb +60 -0
  157. data/lib/opensearch/api/actions/shutdown/get_node.rb +62 -0
  158. data/lib/opensearch/api/actions/shutdown/params_registry.rb +69 -0
  159. data/lib/opensearch/api/actions/shutdown/put_node.rb +62 -0
  160. data/lib/opensearch/api/actions/snapshot/cleanup_repository.rb +66 -0
  161. data/lib/opensearch/api/actions/snapshot/clone.rb +74 -0
  162. data/lib/opensearch/api/actions/snapshot/create.rb +71 -0
  163. data/lib/opensearch/api/actions/snapshot/create_repository.rb +70 -0
  164. data/lib/opensearch/api/actions/snapshot/delete.rb +72 -0
  165. data/lib/opensearch/api/actions/snapshot/delete_repository.rb +70 -0
  166. data/lib/opensearch/api/actions/snapshot/get.rb +80 -0
  167. data/lib/opensearch/api/actions/snapshot/get_features.rb +59 -0
  168. data/lib/opensearch/api/actions/snapshot/get_repository.rb +72 -0
  169. data/lib/opensearch/api/actions/snapshot/params_registry.rb +69 -0
  170. data/lib/opensearch/api/actions/snapshot/repository_analyze.rb +84 -0
  171. data/lib/opensearch/api/actions/snapshot/restore.rb +71 -0
  172. data/lib/opensearch/api/actions/snapshot/status.rb +77 -0
  173. data/lib/opensearch/api/actions/snapshot/verify_repository.rb +66 -0
  174. data/lib/opensearch/api/actions/tasks/cancel.rb +76 -0
  175. data/lib/opensearch/api/actions/tasks/get.rb +68 -0
  176. data/lib/opensearch/api/actions/tasks/list.rb +75 -0
  177. data/lib/opensearch/api/actions/tasks/params_registry.rb +69 -0
  178. data/lib/opensearch/api/actions/termvectors.rb +115 -0
  179. data/lib/opensearch/api/actions/update.rb +106 -0
  180. data/lib/opensearch/api/actions/update_by_query.rb +144 -0
  181. data/lib/opensearch/api/actions/update_by_query_rethrottle.rb +62 -0
  182. data/lib/opensearch/api/namespace/cat.rb +45 -0
  183. data/lib/opensearch/api/namespace/cluster.rb +46 -0
  184. data/lib/opensearch/api/namespace/common.rb +53 -0
  185. data/lib/opensearch/api/namespace/dangling_indices.rb +44 -0
  186. data/lib/opensearch/api/namespace/features.rb +45 -0
  187. data/lib/opensearch/api/namespace/indices.rb +46 -0
  188. data/lib/opensearch/api/namespace/ingest.rb +46 -0
  189. data/lib/opensearch/api/namespace/nodes.rb +46 -0
  190. data/lib/opensearch/api/namespace/remote.rb +46 -0
  191. data/lib/opensearch/api/namespace/security.rb +45 -0
  192. data/lib/opensearch/api/namespace/shutdown.rb +46 -0
  193. data/lib/opensearch/api/namespace/snapshot.rb +46 -0
  194. data/lib/opensearch/api/namespace/tasks.rb +46 -0
  195. data/lib/opensearch/api/utils.rb +297 -0
  196. data/lib/opensearch/api/version.rb +31 -0
  197. data/lib/opensearch/api.rb +101 -0
  198. data/lib/opensearch-api.rb +27 -0
  199. data/opensearch-api.gemspec +92 -0
  200. data/spec/opensearch/api/actions/abort_benchmark_spec.rb +43 -0
  201. data/spec/opensearch/api/actions/benchmark_spec.rb +43 -0
  202. data/spec/opensearch/api/actions/bulk_spec.rb +148 -0
  203. data/spec/opensearch/api/actions/cat/aliases_spec.rb +44 -0
  204. data/spec/opensearch/api/actions/cat/allocation_spec.rb +44 -0
  205. data/spec/opensearch/api/actions/cat/count_spec.rb +44 -0
  206. data/spec/opensearch/api/actions/cat/fielddata_spec.rb +61 -0
  207. data/spec/opensearch/api/actions/cat/health_spec.rb +44 -0
  208. data/spec/opensearch/api/actions/cat/help_spec.rb +44 -0
  209. data/spec/opensearch/api/actions/cat/indices_spec.rb +44 -0
  210. data/spec/opensearch/api/actions/cat/master_spec.rb +44 -0
  211. data/spec/opensearch/api/actions/cat/nodeattrs_spec.rb +44 -0
  212. data/spec/opensearch/api/actions/cat/nodes_spec.rb +44 -0
  213. data/spec/opensearch/api/actions/cat/pending_tasks_spec.rb +44 -0
  214. data/spec/opensearch/api/actions/cat/plugins_spec.rb +44 -0
  215. data/spec/opensearch/api/actions/cat/recovery_spec.rb +44 -0
  216. data/spec/opensearch/api/actions/cat/repositories_spec.rb +44 -0
  217. data/spec/opensearch/api/actions/cat/segments_spec.rb +58 -0
  218. data/spec/opensearch/api/actions/cat/shards_spec.rb +44 -0
  219. data/spec/opensearch/api/actions/cat/snapshot_spec.rb +44 -0
  220. data/spec/opensearch/api/actions/cat/tasks_spec.rb +44 -0
  221. data/spec/opensearch/api/actions/cat/templates_spec.rb +44 -0
  222. data/spec/opensearch/api/actions/cat/thread_pool_spec.rb +44 -0
  223. data/spec/opensearch/api/actions/clear_scroll_spec.rb +61 -0
  224. data/spec/opensearch/api/actions/close_point_in_time_spec.rb +43 -0
  225. data/spec/opensearch/api/actions/cluster/allocation_explain_spec.rb +44 -0
  226. data/spec/opensearch/api/actions/cluster/get_settings_spec.rb +44 -0
  227. data/spec/opensearch/api/actions/cluster/health_spec.rb +78 -0
  228. data/spec/opensearch/api/actions/cluster/pending_tasks_spec.rb +44 -0
  229. data/spec/opensearch/api/actions/cluster/put_settings_spec.rb +44 -0
  230. data/spec/opensearch/api/actions/cluster/remote_info_spec.rb +44 -0
  231. data/spec/opensearch/api/actions/cluster/reroute_spec.rb +61 -0
  232. data/spec/opensearch/api/actions/cluster/state_spec.rb +61 -0
  233. data/spec/opensearch/api/actions/cluster/stats_spec.rb +44 -0
  234. data/spec/opensearch/api/actions/count_spec.rb +78 -0
  235. data/spec/opensearch/api/actions/create_document_spec.rb +95 -0
  236. data/spec/opensearch/api/actions/dangling_indices/delete_dangling_indices_spec.rb +57 -0
  237. data/spec/opensearch/api/actions/dangling_indices/import_dangling_indices_spec.rb +57 -0
  238. data/spec/opensearch/api/actions/dangling_indices/list_dangling_indices_spec.rb +45 -0
  239. data/spec/opensearch/api/actions/delete_by_query_spec.rb +89 -0
  240. data/spec/opensearch/api/actions/delete_document_spec.rb +121 -0
  241. data/spec/opensearch/api/actions/delete_script_spec.rb +46 -0
  242. data/spec/opensearch/api/actions/exists_document_spec.rb +136 -0
  243. data/spec/opensearch/api/actions/explain_document_spec.rb +108 -0
  244. data/spec/opensearch/api/actions/features/get_features_spec.rb +43 -0
  245. data/spec/opensearch/api/actions/features/reset_features_spec.rb +43 -0
  246. data/spec/opensearch/api/actions/field_caps_spec.rb +44 -0
  247. data/spec/opensearch/api/actions/get_document_source_spec.rb +110 -0
  248. data/spec/opensearch/api/actions/get_document_spec.rb +133 -0
  249. data/spec/opensearch/api/actions/get_script_spec.rb +59 -0
  250. data/spec/opensearch/api/actions/hashie_spec.rb +98 -0
  251. data/spec/opensearch/api/actions/index_document_spec.rb +146 -0
  252. data/spec/opensearch/api/actions/indices/add_block_spec.rb +72 -0
  253. data/spec/opensearch/api/actions/indices/analyze_spec.rb +77 -0
  254. data/spec/opensearch/api/actions/indices/clear_cache_spec.rb +89 -0
  255. data/spec/opensearch/api/actions/indices/clone_spec.rb +131 -0
  256. data/spec/opensearch/api/actions/indices/close_spec.rb +94 -0
  257. data/spec/opensearch/api/actions/indices/create_spec.rb +94 -0
  258. data/spec/opensearch/api/actions/indices/delete_alias_spec.rb +92 -0
  259. data/spec/opensearch/api/actions/indices/delete_spec.rb +117 -0
  260. data/spec/opensearch/api/actions/indices/delete_template_spec.rb +95 -0
  261. data/spec/opensearch/api/actions/indices/disk_usage_spec.rb +57 -0
  262. data/spec/opensearch/api/actions/indices/exists_alias_spec.rb +117 -0
  263. data/spec/opensearch/api/actions/indices/exists_spec.rb +117 -0
  264. data/spec/opensearch/api/actions/indices/exists_template_spec.rb +102 -0
  265. data/spec/opensearch/api/actions/indices/exists_type_spec.rb +117 -0
  266. data/spec/opensearch/api/actions/indices/field_usage_stats_spec.rb +55 -0
  267. data/spec/opensearch/api/actions/indices/flush_spec.rb +100 -0
  268. data/spec/opensearch/api/actions/indices/flush_synced_spec.rb +99 -0
  269. data/spec/opensearch/api/actions/indices/forcemerge_spec.rb +44 -0
  270. data/spec/opensearch/api/actions/indices/get_alias_spec.rb +70 -0
  271. data/spec/opensearch/api/actions/indices/get_field_mapping_spec.rb +70 -0
  272. data/spec/opensearch/api/actions/indices/get_mapping_spec.rb +92 -0
  273. data/spec/opensearch/api/actions/indices/get_settings_spec.rb +81 -0
  274. data/spec/opensearch/api/actions/indices/get_spec.rb +63 -0
  275. data/spec/opensearch/api/actions/indices/open_spec.rb +74 -0
  276. data/spec/opensearch/api/actions/indices/put_alias_spec.rb +98 -0
  277. data/spec/opensearch/api/actions/indices/put_mapping_spec.rb +111 -0
  278. data/spec/opensearch/api/actions/indices/put_settings_spec.rb +117 -0
  279. data/spec/opensearch/api/actions/indices/put_template_spec.rb +116 -0
  280. data/spec/opensearch/api/actions/indices/recovery_spec.rb +44 -0
  281. data/spec/opensearch/api/actions/indices/refresh_spec.rb +100 -0
  282. data/spec/opensearch/api/actions/indices/rollover_spec.rb +67 -0
  283. data/spec/opensearch/api/actions/indices/segments_spec.rb +100 -0
  284. data/spec/opensearch/api/actions/indices/shard_stores_spec.rb +44 -0
  285. data/spec/opensearch/api/actions/indices/shrink_spec.rb +51 -0
  286. data/spec/opensearch/api/actions/indices/split_spec.rb +44 -0
  287. data/spec/opensearch/api/actions/indices/stats_spec.rb +133 -0
  288. data/spec/opensearch/api/actions/indices/update_aliases_spec.rb +76 -0
  289. data/spec/opensearch/api/actions/indices/upgrade_spec.rb +44 -0
  290. data/spec/opensearch/api/actions/indices/validate_query_spec.rb +131 -0
  291. data/spec/opensearch/api/actions/info_spec.rb +44 -0
  292. data/spec/opensearch/api/actions/ingest/delete_pipeline_spec.rb +69 -0
  293. data/spec/opensearch/api/actions/ingest/geo_ip_stats_spec.rb +43 -0
  294. data/spec/opensearch/api/actions/ingest/get_pipeline_spec.rb +59 -0
  295. data/spec/opensearch/api/actions/ingest/put_pipeline_spec.rb +69 -0
  296. data/spec/opensearch/api/actions/ingest/simulate_spec.rb +58 -0
  297. data/spec/opensearch/api/actions/json_builders_spec.rb +93 -0
  298. data/spec/opensearch/api/actions/mget_spec.rb +111 -0
  299. data/spec/opensearch/api/actions/msearch_spec.rb +160 -0
  300. data/spec/opensearch/api/actions/msearch_template_spec.rb +102 -0
  301. data/spec/opensearch/api/actions/mtermvectors_spec.rb +55 -0
  302. data/spec/opensearch/api/actions/nodes/hot_threads_spec.rb +70 -0
  303. data/spec/opensearch/api/actions/nodes/info_spec.rb +111 -0
  304. data/spec/opensearch/api/actions/nodes/reload_secure_settings_spec.rb +93 -0
  305. data/spec/opensearch/api/actions/nodes/shutdown_spec.rb +85 -0
  306. data/spec/opensearch/api/actions/nodes/stats_spec.rb +85 -0
  307. data/spec/opensearch/api/actions/open_point_in_time_spec.rb +53 -0
  308. data/spec/opensearch/api/actions/ping_spec.rb +85 -0
  309. data/spec/opensearch/api/actions/put_script_spec.rb +65 -0
  310. data/spec/opensearch/api/actions/reindex_spec.rb +44 -0
  311. data/spec/opensearch/api/actions/remote/info_spec.rb +44 -0
  312. data/spec/opensearch/api/actions/render_search_template_spec.rb +61 -0
  313. data/spec/opensearch/api/actions/scroll_spec.rb +61 -0
  314. data/spec/opensearch/api/actions/search_shards_spec.rb +44 -0
  315. data/spec/opensearch/api/actions/search_spec.rb +143 -0
  316. data/spec/opensearch/api/actions/search_template_spec.rb +43 -0
  317. data/spec/opensearch/api/actions/shutdown/delete_node_spec.rb +53 -0
  318. data/spec/opensearch/api/actions/shutdown/get_node_spec.rb +55 -0
  319. data/spec/opensearch/api/actions/shutdown/put_node_spec.rb +59 -0
  320. data/spec/opensearch/api/actions/snapshot/clone_spec.rb +76 -0
  321. data/spec/opensearch/api/actions/snapshot/create_repository_spec.rb +60 -0
  322. data/spec/opensearch/api/actions/snapshot/create_spec.rb +60 -0
  323. data/spec/opensearch/api/actions/snapshot/delete_repository_spec.rb +59 -0
  324. data/spec/opensearch/api/actions/snapshot/delete_spec.rb +60 -0
  325. data/spec/opensearch/api/actions/snapshot/get_features_spec.rb +47 -0
  326. data/spec/opensearch/api/actions/snapshot/get_repository_spec.rb +44 -0
  327. data/spec/opensearch/api/actions/snapshot/get_spec.rb +60 -0
  328. data/spec/opensearch/api/actions/snapshot/repository_analize_spec.rb +57 -0
  329. data/spec/opensearch/api/actions/snapshot/restore_spec.rb +60 -0
  330. data/spec/opensearch/api/actions/snapshot/status_spec.rb +59 -0
  331. data/spec/opensearch/api/actions/snapshot/verify_repository_spec.rb +44 -0
  332. data/spec/opensearch/api/actions/tasks/cancel_spec.rb +59 -0
  333. data/spec/opensearch/api/actions/tasks/get_spec.rb +44 -0
  334. data/spec/opensearch/api/actions/tasks/list_spec.rb +48 -0
  335. data/spec/opensearch/api/actions/termvectors_spec.rb +75 -0
  336. data/spec/opensearch/api/actions/update_by_query_spec.rb +44 -0
  337. data/spec/opensearch/api/actions/update_document_spec.rb +131 -0
  338. data/spec/opensearch/api/api_spec.rb +52 -0
  339. data/spec/opensearch/api/client_spec.rb +55 -0
  340. data/spec/opensearch/api/rest_api_yaml_spec.rb +169 -0
  341. data/spec/opensearch/api/utils_spec.rb +439 -0
  342. data/spec/rest_yaml_tests_helper.rb +89 -0
  343. data/spec/skipped_tests.yml +29 -0
  344. data/spec/spec_helper.rb +84 -0
  345. data.tar.gz.sig +0 -0
  346. metadata +860 -0
  347. metadata.gz.sig +0 -0
@@ -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
+ # Provides low-level information about segments in a Lucene index.
32
+ #
33
+ # @option arguments [List] :index A comma-separated list of index names; use `_all` or empty string to perform the operation on all indices
34
+ # @option arguments [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when unavailable (missing or closed)
35
+ # @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)
36
+ # @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)
37
+ # @option arguments [Boolean] :verbose Includes detailed memory usage by Lucene.
38
+ # @option arguments [Hash] :headers Custom HTTP headers
39
+ #
40
+ #
41
+ def segments(arguments = {})
42
+ headers = arguments.delete(:headers) || {}
43
+
44
+ arguments = arguments.clone
45
+
46
+ _index = arguments.delete(:index)
47
+
48
+ method = OpenSearch::API::HTTP_GET
49
+ path = if _index
50
+ "#{Utils.__listify(_index)}/_segments"
51
+ else
52
+ "_segments"
53
+ end
54
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
55
+
56
+ body = nil
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(:segments, [
64
+ :ignore_unavailable,
65
+ :allow_no_indices,
66
+ :expand_wildcards,
67
+ :verbose
68
+ ].freeze)
69
+ end
70
+ end
71
+ end
72
+ 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
+ # Provides store information for shard copies of indices.
32
+ #
33
+ # @option arguments [List] :index A comma-separated list of index names; use `_all` or empty string to perform the operation on all indices
34
+ # @option arguments [List] :status A comma-separated list of statuses used to filter on shards to get store information for (options: green, yellow, red, all)
35
+ # @option arguments [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when unavailable (missing or closed)
36
+ # @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)
37
+ # @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)
38
+ # @option arguments [Hash] :headers Custom HTTP headers
39
+ #
40
+ #
41
+ def shard_stores(arguments = {})
42
+ headers = arguments.delete(:headers) || {}
43
+
44
+ arguments = arguments.clone
45
+
46
+ _index = arguments.delete(:index)
47
+
48
+ method = OpenSearch::API::HTTP_GET
49
+ path = if _index
50
+ "#{Utils.__listify(_index)}/_shard_stores"
51
+ else
52
+ "_shard_stores"
53
+ end
54
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
55
+
56
+ body = nil
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(:shard_stores, [
64
+ :status,
65
+ :ignore_unavailable,
66
+ :allow_no_indices,
67
+ :expand_wildcards
68
+ ].freeze)
69
+ end
70
+ end
71
+ end
72
+ 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
+ # Allow to shrink an existing index into a new index with fewer primary shards.
32
+ #
33
+ # @option arguments [String] :index The name of the source index to shrink
34
+ # @option arguments [String] :target The name of the target index to shrink into
35
+ # @option arguments [Boolean] :copy_settings whether or not to copy settings from the source index (defaults to false)
36
+ # @option arguments [Time] :timeout Explicit operation timeout
37
+ # @option arguments [Time] :master_timeout Specify timeout for connection to master
38
+ # @option arguments [String] :wait_for_active_shards Set the number of active shards to wait for on the shrunken 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 shrink(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)}/_shrink/#{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(:shrink, [
67
+ :copy_settings,
68
+ :timeout,
69
+ :master_timeout,
70
+ :wait_for_active_shards
71
+ ].freeze)
72
+ end
73
+ end
74
+ end
75
+ 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 Indices
30
+ module Actions
31
+ # Simulate matching the given index name against the index templates in the system
32
+ #
33
+ # @option arguments [String] :name The name of the index (it must be a concrete index name)
34
+ # @option arguments [Boolean] :create Whether the index template we optionally defined in the body should only be dry-run added if new or can also replace an existing one
35
+ # @option arguments [String] :cause User defined reason for dry-run creating the new template for simulation purposes
36
+ # @option arguments [Time] :master_timeout Specify timeout for connection to master
37
+ # @option arguments [Hash] :headers Custom HTTP headers
38
+ # @option arguments [Hash] :body New index template definition, which will be included in the simulation, as if it already exists in the system
39
+ #
40
+ #
41
+ def simulate_index_template(arguments = {})
42
+ raise ArgumentError, "Required argument 'name' missing" unless arguments[:name]
43
+
44
+ headers = arguments.delete(:headers) || {}
45
+
46
+ arguments = arguments.clone
47
+
48
+ _name = arguments.delete(:name)
49
+
50
+ method = OpenSearch::API::HTTP_POST
51
+ path = "_index_template/_simulate_index/#{Utils.__listify(_name)}"
52
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
53
+
54
+ body = arguments[:body]
55
+ perform_request(method, path, params, body, headers).body
56
+ end
57
+
58
+ # Register this action with its valid params when the module is loaded.
59
+ #
60
+ # @since 6.2.0
61
+ ParamsRegistry.register(:simulate_index_template, [
62
+ :create,
63
+ :cause,
64
+ :master_timeout
65
+ ].freeze)
66
+ end
67
+ end
68
+ end
69
+ 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
+ # Simulate resolving the given template name or body
32
+ #
33
+ # @option arguments [String] :name The name of the index template
34
+ # @option arguments [Boolean] :create Whether the index template we optionally defined in the body should only be dry-run added if new or can also replace an existing one
35
+ # @option arguments [String] :cause User defined reason for dry-run creating the new template for simulation purposes
36
+ # @option arguments [Time] :master_timeout Specify timeout for connection to master
37
+ # @option arguments [Hash] :headers Custom HTTP headers
38
+ # @option arguments [Hash] :body New index template definition to be simulated, if no index template name is specified
39
+ #
40
+ #
41
+ def simulate_template(arguments = {})
42
+ headers = arguments.delete(:headers) || {}
43
+
44
+ arguments = arguments.clone
45
+
46
+ _name = arguments.delete(:name)
47
+
48
+ method = OpenSearch::API::HTTP_POST
49
+ path = if _name
50
+ "_index_template/_simulate/#{Utils.__listify(_name)}"
51
+ else
52
+ "_index_template/_simulate"
53
+ end
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(:simulate_template, [
64
+ :create,
65
+ :cause,
66
+ :master_timeout
67
+ ].freeze)
68
+ end
69
+ end
70
+ end
71
+ 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
+ # Allows you to split an existing index into a new index with more primary shards.
32
+ #
33
+ # @option arguments [String] :index The name of the source index to split
34
+ # @option arguments [String] :target The name of the target index to split into
35
+ # @option arguments [Boolean] :copy_settings whether or not to copy settings from the source index (defaults to false)
36
+ # @option arguments [Time] :timeout Explicit operation timeout
37
+ # @option arguments [Time] :master_timeout Specify timeout for connection to master
38
+ # @option arguments [String] :wait_for_active_shards Set the number of active shards to wait for on the shrunken 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 split(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)}/_split/#{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(:split, [
67
+ :copy_settings,
68
+ :timeout,
69
+ :master_timeout,
70
+ :wait_for_active_shards
71
+ ].freeze)
72
+ end
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,100 @@
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
+ # Provides statistics on operations happening in an index.
32
+ #
33
+ # @option arguments [List] :metric Limit the information returned the specific metrics. (options: _all, completion, docs, fielddata, query_cache, flush, get, indexing, merge, request_cache, refresh, search, segments, store, warmer, suggest)
34
+ # @option arguments [List] :index A comma-separated list of index names; use `_all` or empty string to perform the operation on all indices
35
+ # @option arguments [List] :completion_fields A comma-separated list of fields for `fielddata` and `suggest` index metric (supports wildcards)
36
+ # @option arguments [List] :fielddata_fields A comma-separated list of fields for `fielddata` index metric (supports wildcards)
37
+ # @option arguments [List] :fields A comma-separated list of fields for `fielddata` and `completion` index metric (supports wildcards)
38
+ # @option arguments [List] :groups A comma-separated list of search groups for `search` index metric
39
+ # @option arguments [String] :level Return stats aggregated at cluster, index or shard level (options: cluster, indices, shards)
40
+ # @option arguments [List] :types A comma-separated list of document types for the `indexing` index metric
41
+ # @option arguments [Boolean] :include_segment_file_sizes Whether to report the aggregated disk usage of each one of the Lucene index files (only applies if segment stats are requested)
42
+ # @option arguments [Boolean] :include_unloaded_segments If set to true segment stats will include stats for segments that are not currently loaded into memory
43
+ # @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)
44
+ # @option arguments [Boolean] :forbid_closed_indices If set to false stats will also collected from closed indices if explicitly specified or if expand_wildcards expands to closed indices
45
+ # @option arguments [Hash] :headers Custom HTTP headers
46
+ #
47
+ #
48
+ def stats(arguments = {})
49
+ headers = arguments.delete(:headers) || {}
50
+
51
+ method = HTTP_GET
52
+ parts = Utils.__extract_parts arguments, ParamsRegistry.get(:stats_parts)
53
+ path = Utils.__pathify Utils.__listify(arguments[:index]), '_stats', Utils.__listify(parts)
54
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(:stats_params)
55
+ params[:fields] = Utils.__listify(params[:fields], :escape => false) if params[:fields]
56
+ params[:groups] = Utils.__listify(params[:groups], :escape => false) if params[:groups]
57
+
58
+ body = nil
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(:stats_params, [
66
+ :completion_fields,
67
+ :fielddata_fields,
68
+ :fields,
69
+ :groups,
70
+ :level,
71
+ :types,
72
+ :include_segment_file_sizes,
73
+ :include_unloaded_segments,
74
+ :expand_wildcards,
75
+ :forbid_closed_indices
76
+ ].freeze)
77
+
78
+ ParamsRegistry.register(:stats_parts, [
79
+ :_all,
80
+ :completion,
81
+ :docs,
82
+ :fielddata,
83
+ :query_cache,
84
+ :flush,
85
+ :get,
86
+ :indexing,
87
+ :merge,
88
+ :request_cache,
89
+ :refresh,
90
+ :search,
91
+ :segments,
92
+ :store,
93
+ :warmer,
94
+ :suggest,
95
+ :metric
96
+ ].freeze)
97
+ end
98
+ end
99
+ end
100
+ 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 Indices
30
+ module Actions
31
+ # Updates index aliases.
32
+ #
33
+ # @option arguments [Time] :timeout Request timeout
34
+ # @option arguments [Time] :master_timeout Specify timeout for connection to master
35
+ # @option arguments [Hash] :headers Custom HTTP headers
36
+ # @option arguments [Hash] :body The definition of `actions` to perform (*Required*)
37
+ #
38
+ #
39
+ def update_aliases(arguments = {})
40
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
41
+
42
+ headers = arguments.delete(:headers) || {}
43
+
44
+ arguments = arguments.clone
45
+
46
+ method = OpenSearch::API::HTTP_POST
47
+ path = "_aliases"
48
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
49
+
50
+ body = arguments[:body]
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(:update_aliases, [
58
+ :timeout,
59
+ :master_timeout
60
+ ].freeze)
61
+ end
62
+ end
63
+ end
64
+ 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
+ # DEPRECATED Upgrades to the current version of Lucene.
32
+ #
33
+ # @option arguments [List] :index A comma-separated list of index names; use `_all` or empty string to perform the operation on all indices
34
+ # @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)
35
+ # @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)
36
+ # @option arguments [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when unavailable (missing or closed)
37
+ # @option arguments [Boolean] :wait_for_completion Specify whether the request should block until the all segments are upgraded (default: false)
38
+ # @option arguments [Boolean] :only_ancient_segments If true, only ancient (an older Lucene major release) segments will be upgraded
39
+ # @option arguments [Hash] :headers Custom HTTP headers
40
+ #
41
+ # *Deprecation notice*:
42
+ # The _upgrade API is no longer useful and will be removed. Instead, see _reindex API.
43
+ # Deprecated since version 8.0.0
44
+ #
45
+ #
46
+ #
47
+ def upgrade(arguments = {})
48
+ headers = arguments.delete(:headers) || {}
49
+
50
+ arguments = arguments.clone
51
+
52
+ _index = arguments.delete(:index)
53
+
54
+ method = OpenSearch::API::HTTP_POST
55
+ path = if _index
56
+ "#{Utils.__listify(_index)}/_upgrade"
57
+ else
58
+ "_upgrade"
59
+ end
60
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
61
+
62
+ body = nil
63
+ perform_request(method, path, params, body, headers).body
64
+ end
65
+
66
+ # Register this action with its valid params when the module is loaded.
67
+ #
68
+ # @since 6.2.0
69
+ ParamsRegistry.register(:upgrade, [
70
+ :allow_no_indices,
71
+ :expand_wildcards,
72
+ :ignore_unavailable,
73
+ :wait_for_completion,
74
+ :only_ancient_segments
75
+ ].freeze)
76
+ end
77
+ end
78
+ end
79
+ end