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,104 @@
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 a user to validate a potentially expensive query without executing it.
32
+ #
33
+ # @option arguments [List] :index A comma-separated list of index names to restrict the operation; use `_all` or empty string to perform the operation on all indices
34
+ # @option arguments [List] :type A comma-separated list of document types to restrict the operation; leave empty to perform the operation on all types *Deprecated*
35
+ # @option arguments [Boolean] :explain Return detailed information about the error
36
+ # @option arguments [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when unavailable (missing or closed)
37
+ # @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)
38
+ # @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)
39
+ # @option arguments [String] :q Query in the Lucene query string syntax
40
+ # @option arguments [String] :analyzer The analyzer to use for the query string
41
+ # @option arguments [Boolean] :analyze_wildcard Specify whether wildcard and prefix queries should be analyzed (default: false)
42
+ # @option arguments [String] :default_operator The default operator for query string query (AND or OR) (options: AND, OR)
43
+ # @option arguments [String] :df The field to use as default where no field prefix is given in the query string
44
+ # @option arguments [Boolean] :lenient Specify whether format-based query failures (such as providing text to a numeric field) should be ignored
45
+ # @option arguments [Boolean] :rewrite Provide a more detailed explanation showing the actual Lucene query that will be executed.
46
+ # @option arguments [Boolean] :all_shards Execute validation on all shards instead of one random shard per index
47
+ # @option arguments [Hash] :headers Custom HTTP headers
48
+ # @option arguments [Hash] :body The query definition specified with the Query DSL
49
+ #
50
+ # *Deprecation notice*:
51
+ # Specifying types in urls has been deprecated
52
+ # Deprecated since version 7.0.0
53
+ #
54
+ #
55
+ #
56
+ def validate_query(arguments = {})
57
+ headers = arguments.delete(:headers) || {}
58
+
59
+ arguments = arguments.clone
60
+
61
+ _index = arguments.delete(:index)
62
+
63
+ _type = arguments.delete(:type)
64
+
65
+ method = if arguments[:body]
66
+ OpenSearch::API::HTTP_POST
67
+ else
68
+ OpenSearch::API::HTTP_GET
69
+ end
70
+
71
+ path = if _index && _type
72
+ "#{Utils.__listify(_index)}/#{Utils.__listify(_type)}/_validate/query"
73
+ elsif _index
74
+ "#{Utils.__listify(_index)}/_validate/query"
75
+ else
76
+ "_validate/query"
77
+ end
78
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
79
+
80
+ body = arguments[:body]
81
+ perform_request(method, path, params, body, headers).body
82
+ end
83
+
84
+ # Register this action with its valid params when the module is loaded.
85
+ #
86
+ # @since 6.2.0
87
+ ParamsRegistry.register(:validate_query, [
88
+ :explain,
89
+ :ignore_unavailable,
90
+ :allow_no_indices,
91
+ :expand_wildcards,
92
+ :q,
93
+ :analyzer,
94
+ :analyze_wildcard,
95
+ :default_operator,
96
+ :df,
97
+ :lenient,
98
+ :rewrite,
99
+ :all_shards
100
+ ].freeze)
101
+ end
102
+ end
103
+ end
104
+ end
@@ -0,0 +1,49 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ #
3
+ # The OpenSearch Contributors require contributions made to
4
+ # this file be licensed under the Apache-2.0 license or a
5
+ # compatible open source license.
6
+ #
7
+ # Modifications Copyright OpenSearch Contributors. See
8
+ # GitHub history for details.
9
+ #
10
+ # Licensed to Elasticsearch B.V. under one or more contributor
11
+ # license agreements. See the NOTICE file distributed with
12
+ # this work for additional information regarding copyright
13
+ # ownership. Elasticsearch B.V. licenses this file to you under
14
+ # the Apache License, Version 2.0 (the "License"); you may
15
+ # not use this file except in compliance with the License.
16
+ # You may obtain a copy of the License at
17
+ #
18
+ # http://www.apache.org/licenses/LICENSE-2.0
19
+ #
20
+ # Unless required by applicable law or agreed to in writing,
21
+ # software distributed under the License is distributed on an
22
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
23
+ # KIND, either express or implied. See the License for the
24
+ # specific language governing permissions and limitations
25
+ # under the License.
26
+
27
+ module OpenSearch
28
+ module API
29
+ module Actions
30
+ # Returns basic information about the cluster.
31
+ #
32
+ # @option arguments [Hash] :headers Custom HTTP headers
33
+ #
34
+ #
35
+ def info(arguments = {})
36
+ headers = arguments.delete(:headers) || {}
37
+
38
+ arguments = arguments.clone
39
+
40
+ method = OpenSearch::API::HTTP_GET
41
+ path = ""
42
+ params = {}
43
+
44
+ body = nil
45
+ perform_request(method, path, params, body, headers).body
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,66 @@
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 Ingest
30
+ module Actions
31
+ # Deletes a pipeline.
32
+ #
33
+ # @option arguments [String] :id Pipeline ID
34
+ # @option arguments [Time] :master_timeout Explicit operation timeout for connection to master node
35
+ # @option arguments [Time] :timeout Explicit operation timeout
36
+ # @option arguments [Hash] :headers Custom HTTP headers
37
+ #
38
+ #
39
+ def delete_pipeline(arguments = {})
40
+ raise ArgumentError, "Required argument 'id' missing" unless arguments[:id]
41
+
42
+ headers = arguments.delete(:headers) || {}
43
+
44
+ arguments = arguments.clone
45
+
46
+ _id = arguments.delete(:id)
47
+
48
+ method = OpenSearch::API::HTTP_DELETE
49
+ path = "_ingest/pipeline/#{Utils.__listify(_id)}"
50
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
51
+
52
+ body = nil
53
+ perform_request(method, path, params, body, headers).body
54
+ end
55
+
56
+ # Register this action with its valid params when the module is loaded.
57
+ #
58
+ # @since 6.2.0
59
+ ParamsRegistry.register(:delete_pipeline, [
60
+ :master_timeout,
61
+ :timeout
62
+ ].freeze)
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,51 @@
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 Ingest
30
+ module Actions
31
+ # Returns statistical information about geoip databases
32
+ #
33
+ # @option arguments [Hash] :headers Custom HTTP headers
34
+ #
35
+ #
36
+ def geo_ip_stats(arguments = {})
37
+ headers = arguments.delete(:headers) || {}
38
+
39
+ arguments = arguments.clone
40
+
41
+ method = OpenSearch::API::HTTP_GET
42
+ path = "_ingest/geoip/stats"
43
+ params = {}
44
+
45
+ body = nil
46
+ perform_request(method, path, params, body, headers).body
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,68 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ #
3
+ # The OpenSearch Contributors require contributions made to
4
+ # this file be licensed under the Apache-2.0 license or a
5
+ # compatible open source license.
6
+ #
7
+ # Modifications Copyright OpenSearch Contributors. See
8
+ # GitHub history for details.
9
+ #
10
+ # Licensed to Elasticsearch B.V. under one or more contributor
11
+ # license agreements. See the NOTICE file distributed with
12
+ # this work for additional information regarding copyright
13
+ # ownership. Elasticsearch B.V. licenses this file to you under
14
+ # the Apache License, Version 2.0 (the "License"); you may
15
+ # not use this file except in compliance with the License.
16
+ # You may obtain a copy of the License at
17
+ #
18
+ # http://www.apache.org/licenses/LICENSE-2.0
19
+ #
20
+ # Unless required by applicable law or agreed to in writing,
21
+ # software distributed under the License is distributed on an
22
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
23
+ # KIND, either express or implied. See the License for the
24
+ # specific language governing permissions and limitations
25
+ # under the License.
26
+
27
+ module OpenSearch
28
+ module API
29
+ module Ingest
30
+ module Actions
31
+ # Returns a pipeline.
32
+ #
33
+ # @option arguments [String] :id Comma separated list of pipeline ids. Wildcards supported
34
+ # @option arguments [Boolean] :summary Return pipelines without their definitions (default: false)
35
+ # @option arguments [Time] :master_timeout Explicit operation timeout for connection to master node
36
+ # @option arguments [Hash] :headers Custom HTTP headers
37
+ #
38
+ #
39
+ def get_pipeline(arguments = {})
40
+ headers = arguments.delete(:headers) || {}
41
+
42
+ arguments = arguments.clone
43
+
44
+ _id = arguments.delete(:id)
45
+
46
+ method = OpenSearch::API::HTTP_GET
47
+ path = if _id
48
+ "_ingest/pipeline/#{Utils.__listify(_id)}"
49
+ else
50
+ "_ingest/pipeline"
51
+ end
52
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
53
+
54
+ body = nil
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(:get_pipeline, [
62
+ :summary,
63
+ :master_timeout
64
+ ].freeze)
65
+ end
66
+ end
67
+ end
68
+ 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 Ingest
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,51 @@
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 Ingest
30
+ module Actions
31
+ # Returns a list of the built-in patterns.
32
+ #
33
+ # @option arguments [Hash] :headers Custom HTTP headers
34
+ #
35
+ #
36
+ def processor_grok(arguments = {})
37
+ headers = arguments.delete(:headers) || {}
38
+
39
+ arguments = arguments.clone
40
+
41
+ method = OpenSearch::API::HTTP_GET
42
+ path = "_ingest/processor/grok"
43
+ params = {}
44
+
45
+ body = nil
46
+ perform_request(method, path, params, body, headers).body
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,68 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ #
3
+ # The OpenSearch Contributors require contributions made to
4
+ # this file be licensed under the Apache-2.0 license or a
5
+ # compatible open source license.
6
+ #
7
+ # Modifications Copyright OpenSearch Contributors. See
8
+ # GitHub history for details.
9
+ #
10
+ # Licensed to Elasticsearch B.V. under one or more contributor
11
+ # license agreements. See the NOTICE file distributed with
12
+ # this work for additional information regarding copyright
13
+ # ownership. Elasticsearch B.V. licenses this file to you under
14
+ # the Apache License, Version 2.0 (the "License"); you may
15
+ # not use this file except in compliance with the License.
16
+ # You may obtain a copy of the License at
17
+ #
18
+ # http://www.apache.org/licenses/LICENSE-2.0
19
+ #
20
+ # Unless required by applicable law or agreed to in writing,
21
+ # software distributed under the License is distributed on an
22
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
23
+ # KIND, either express or implied. See the License for the
24
+ # specific language governing permissions and limitations
25
+ # under the License.
26
+
27
+ module OpenSearch
28
+ module API
29
+ module Ingest
30
+ module Actions
31
+ # Creates or updates a pipeline.
32
+ #
33
+ # @option arguments [String] :id Pipeline ID
34
+ # @option arguments [Time] :master_timeout Explicit operation timeout for connection to master node
35
+ # @option arguments [Time] :timeout Explicit operation timeout
36
+ # @option arguments [Hash] :headers Custom HTTP headers
37
+ # @option arguments [Hash] :body The ingest definition (*Required*)
38
+ #
39
+ #
40
+ def put_pipeline(arguments = {})
41
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
42
+ raise ArgumentError, "Required argument 'id' missing" unless arguments[:id]
43
+
44
+ headers = arguments.delete(:headers) || {}
45
+
46
+ arguments = arguments.clone
47
+
48
+ _id = arguments.delete(:id)
49
+
50
+ method = OpenSearch::API::HTTP_PUT
51
+ path = "_ingest/pipeline/#{Utils.__listify(_id)}"
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(:put_pipeline, [
62
+ :master_timeout,
63
+ :timeout
64
+ ].freeze)
65
+ end
66
+ end
67
+ end
68
+ 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 Ingest
30
+ module Actions
31
+ # Allows to simulate a pipeline with example documents.
32
+ #
33
+ # @option arguments [String] :id Pipeline ID
34
+ # @option arguments [Boolean] :verbose Verbose mode. Display data output for each processor in executed pipeline
35
+ # @option arguments [Hash] :headers Custom HTTP headers
36
+ # @option arguments [Hash] :body The simulate definition (*Required*)
37
+ #
38
+ #
39
+ def simulate(arguments = {})
40
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
41
+
42
+ headers = arguments.delete(:headers) || {}
43
+
44
+ arguments = arguments.clone
45
+
46
+ _id = arguments.delete(:id)
47
+
48
+ method = OpenSearch::API::HTTP_POST
49
+ path = if _id
50
+ "_ingest/pipeline/#{Utils.__listify(_id)}/_simulate"
51
+ else
52
+ "_ingest/pipeline/_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, [
64
+ :verbose
65
+ ].freeze)
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,91 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ #
3
+ # The OpenSearch Contributors require contributions made to
4
+ # this file be licensed under the Apache-2.0 license or a
5
+ # compatible open source license.
6
+ #
7
+ # Modifications Copyright OpenSearch Contributors. See
8
+ # GitHub history for details.
9
+ #
10
+ # Licensed to Elasticsearch B.V. under one or more contributor
11
+ # license agreements. See the NOTICE file distributed with
12
+ # this work for additional information regarding copyright
13
+ # ownership. Elasticsearch B.V. licenses this file to you under
14
+ # the Apache License, Version 2.0 (the "License"); you may
15
+ # not use this file except in compliance with the License.
16
+ # You may obtain a copy of the License at
17
+ #
18
+ # http://www.apache.org/licenses/LICENSE-2.0
19
+ #
20
+ # Unless required by applicable law or agreed to in writing,
21
+ # software distributed under the License is distributed on an
22
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
23
+ # KIND, either express or implied. See the License for the
24
+ # specific language governing permissions and limitations
25
+ # under the License.
26
+
27
+ module OpenSearch
28
+ module API
29
+ module Actions
30
+ # Allows to get multiple documents in one request.
31
+ #
32
+ # @option arguments [String] :index The name of the index
33
+ # @option arguments [String] :type The type of the document *Deprecated*
34
+ # @option arguments [List] :stored_fields A comma-separated list of stored fields to return in the response
35
+ # @option arguments [String] :preference Specify the node or shard the operation should be performed on (default: random)
36
+ # @option arguments [Boolean] :realtime Specify whether to perform the operation in realtime or search mode
37
+ # @option arguments [Boolean] :refresh Refresh the shard containing the document before performing the operation
38
+ # @option arguments [String] :routing Specific routing value
39
+ # @option arguments [List] :_source True or false to return the _source field or not, or a list of fields to return
40
+ # @option arguments [List] :_source_excludes A list of fields to exclude from the returned _source field
41
+ # @option arguments [List] :_source_includes A list of fields to extract and return from the _source field
42
+ # @option arguments [Hash] :headers Custom HTTP headers
43
+ # @option arguments [Hash] :body Document identifiers; can be either `docs` (containing full document information) or `ids` (when index and type is provided in the URL. (*Required*)
44
+ #
45
+ # *Deprecation notice*:
46
+ # Specifying types in urls has been deprecated
47
+ # Deprecated since version 7.0.0
48
+ #
49
+ #
50
+ #
51
+ def mget(arguments = {})
52
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
53
+
54
+ headers = arguments.delete(:headers) || {}
55
+
56
+ arguments = arguments.clone
57
+
58
+ _index = arguments.delete(:index)
59
+
60
+ _type = arguments.delete(:type)
61
+
62
+ method = OpenSearch::API::HTTP_POST
63
+ path = if _index && _type
64
+ "#{Utils.__listify(_index)}/#{Utils.__listify(_type)}/_mget"
65
+ elsif _index
66
+ "#{Utils.__listify(_index)}/_mget"
67
+ else
68
+ "_mget"
69
+ end
70
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
71
+
72
+ body = arguments[:body]
73
+ perform_request(method, path, params, body, headers).body
74
+ end
75
+
76
+ # Register this action with its valid params when the module is loaded.
77
+ #
78
+ # @since 6.2.0
79
+ ParamsRegistry.register(:mget, [
80
+ :stored_fields,
81
+ :preference,
82
+ :realtime,
83
+ :refresh,
84
+ :routing,
85
+ :_source,
86
+ :_source_excludes,
87
+ :_source_includes
88
+ ].freeze)
89
+ end
90
+ end
91
+ end