elasticsearch-api 7.12.0 → 7.13.0.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (179) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +6 -8
  3. data/Rakefile +46 -62
  4. data/lib/elasticsearch/api.rb +2 -1
  5. data/lib/elasticsearch/api/actions/bulk.rb +1 -1
  6. data/lib/elasticsearch/api/actions/cat/aliases.rb +1 -1
  7. data/lib/elasticsearch/api/actions/cat/allocation.rb +1 -1
  8. data/lib/elasticsearch/api/actions/cat/count.rb +1 -1
  9. data/lib/elasticsearch/api/actions/cat/fielddata.rb +1 -1
  10. data/lib/elasticsearch/api/actions/cat/health.rb +1 -1
  11. data/lib/elasticsearch/api/actions/cat/help.rb +1 -1
  12. data/lib/elasticsearch/api/actions/cat/indices.rb +1 -1
  13. data/lib/elasticsearch/api/actions/cat/master.rb +1 -1
  14. data/lib/elasticsearch/api/actions/cat/nodeattrs.rb +1 -1
  15. data/lib/elasticsearch/api/actions/cat/nodes.rb +4 -2
  16. data/lib/elasticsearch/api/actions/cat/pending_tasks.rb +1 -1
  17. data/lib/elasticsearch/api/actions/cat/plugins.rb +1 -1
  18. data/lib/elasticsearch/api/actions/cat/recovery.rb +1 -1
  19. data/lib/elasticsearch/api/actions/cat/repositories.rb +1 -1
  20. data/lib/elasticsearch/api/actions/cat/segments.rb +1 -1
  21. data/lib/elasticsearch/api/actions/cat/shards.rb +1 -1
  22. data/lib/elasticsearch/api/actions/cat/snapshots.rb +1 -1
  23. data/lib/elasticsearch/api/actions/cat/tasks.rb +1 -1
  24. data/lib/elasticsearch/api/actions/cat/templates.rb +1 -1
  25. data/lib/elasticsearch/api/actions/cat/thread_pool.rb +1 -1
  26. data/lib/elasticsearch/api/actions/clear_scroll.rb +1 -1
  27. data/lib/elasticsearch/api/actions/close_point_in_time.rb +42 -0
  28. data/lib/elasticsearch/api/actions/cluster/allocation_explain.rb +1 -1
  29. data/lib/elasticsearch/api/actions/cluster/delete_component_template.rb +1 -1
  30. data/lib/elasticsearch/api/actions/cluster/delete_voting_config_exclusions.rb +1 -1
  31. data/lib/elasticsearch/api/actions/cluster/exists_component_template.rb +1 -1
  32. data/lib/elasticsearch/api/actions/cluster/get_component_template.rb +1 -1
  33. data/lib/elasticsearch/api/actions/cluster/get_settings.rb +1 -1
  34. data/lib/elasticsearch/api/actions/cluster/health.rb +1 -1
  35. data/lib/elasticsearch/api/actions/cluster/pending_tasks.rb +1 -1
  36. data/lib/elasticsearch/api/actions/cluster/post_voting_config_exclusions.rb +1 -1
  37. data/lib/elasticsearch/api/actions/cluster/put_component_template.rb +1 -1
  38. data/lib/elasticsearch/api/actions/cluster/put_settings.rb +1 -1
  39. data/lib/elasticsearch/api/actions/cluster/remote_info.rb +1 -1
  40. data/lib/elasticsearch/api/actions/cluster/reroute.rb +1 -1
  41. data/lib/elasticsearch/api/actions/cluster/state.rb +1 -1
  42. data/lib/elasticsearch/api/actions/cluster/stats.rb +1 -1
  43. data/lib/elasticsearch/api/actions/count.rb +1 -1
  44. data/lib/elasticsearch/api/actions/create.rb +1 -1
  45. data/lib/elasticsearch/api/actions/dangling_indices/delete_dangling_index.rb +1 -1
  46. data/lib/elasticsearch/api/actions/dangling_indices/import_dangling_index.rb +1 -1
  47. data/lib/elasticsearch/api/actions/dangling_indices/list_dangling_indices.rb +1 -1
  48. data/lib/elasticsearch/api/actions/delete.rb +1 -1
  49. data/lib/elasticsearch/api/actions/delete_by_query.rb +1 -1
  50. data/lib/elasticsearch/api/actions/delete_by_query_rethrottle.rb +1 -1
  51. data/lib/elasticsearch/api/actions/delete_script.rb +1 -1
  52. data/lib/elasticsearch/api/actions/exists.rb +1 -1
  53. data/lib/elasticsearch/api/actions/exists_source.rb +1 -1
  54. data/lib/elasticsearch/api/actions/explain.rb +1 -1
  55. data/lib/elasticsearch/api/actions/features/get_features.rb +2 -2
  56. data/lib/elasticsearch/api/actions/features/reset_features.rb +47 -0
  57. data/lib/elasticsearch/api/actions/field_caps.rb +1 -1
  58. data/lib/elasticsearch/api/actions/get.rb +1 -1
  59. data/lib/elasticsearch/api/actions/get_script.rb +1 -1
  60. data/lib/elasticsearch/api/actions/get_script_context.rb +1 -1
  61. data/lib/elasticsearch/api/actions/get_script_languages.rb +1 -1
  62. data/lib/elasticsearch/api/actions/get_source.rb +1 -1
  63. data/lib/elasticsearch/api/actions/index.rb +1 -1
  64. data/lib/elasticsearch/api/actions/indices/add_block.rb +1 -1
  65. data/lib/elasticsearch/api/actions/indices/analyze.rb +1 -1
  66. data/lib/elasticsearch/api/actions/indices/clear_cache.rb +1 -1
  67. data/lib/elasticsearch/api/actions/indices/clone.rb +1 -1
  68. data/lib/elasticsearch/api/actions/indices/close.rb +1 -1
  69. data/lib/elasticsearch/api/actions/indices/create.rb +1 -1
  70. data/lib/elasticsearch/api/actions/indices/delete.rb +1 -1
  71. data/lib/elasticsearch/api/actions/indices/delete_alias.rb +1 -1
  72. data/lib/elasticsearch/api/actions/indices/delete_index_template.rb +1 -1
  73. data/lib/elasticsearch/api/actions/indices/delete_template.rb +1 -1
  74. data/lib/elasticsearch/api/actions/indices/exists.rb +1 -1
  75. data/lib/elasticsearch/api/actions/indices/exists_alias.rb +1 -1
  76. data/lib/elasticsearch/api/actions/indices/exists_index_template.rb +1 -1
  77. data/lib/elasticsearch/api/actions/indices/exists_template.rb +1 -1
  78. data/lib/elasticsearch/api/actions/indices/exists_type.rb +1 -1
  79. data/lib/elasticsearch/api/actions/indices/flush.rb +1 -1
  80. data/lib/elasticsearch/api/actions/indices/flush_synced.rb +1 -1
  81. data/lib/elasticsearch/api/actions/indices/forcemerge.rb +1 -1
  82. data/lib/elasticsearch/api/actions/indices/freeze.rb +29 -19
  83. data/lib/elasticsearch/api/actions/indices/get.rb +1 -1
  84. data/lib/elasticsearch/api/actions/indices/get_alias.rb +1 -1
  85. data/lib/elasticsearch/api/actions/indices/get_field_mapping.rb +1 -1
  86. data/lib/elasticsearch/api/actions/indices/get_index_template.rb +1 -1
  87. data/lib/elasticsearch/api/actions/indices/get_mapping.rb +1 -1
  88. data/lib/elasticsearch/api/actions/indices/get_settings.rb +1 -1
  89. data/lib/elasticsearch/api/actions/indices/get_template.rb +1 -1
  90. data/lib/elasticsearch/api/actions/indices/get_upgrade.rb +1 -1
  91. data/lib/elasticsearch/api/actions/indices/open.rb +1 -1
  92. data/lib/elasticsearch/api/actions/indices/put_alias.rb +1 -1
  93. data/lib/elasticsearch/api/actions/indices/put_index_template.rb +1 -1
  94. data/lib/elasticsearch/api/actions/indices/put_mapping.rb +1 -1
  95. data/lib/elasticsearch/api/actions/indices/put_settings.rb +1 -1
  96. data/lib/elasticsearch/api/actions/indices/put_template.rb +1 -1
  97. data/lib/elasticsearch/api/actions/indices/recovery.rb +1 -1
  98. data/lib/elasticsearch/api/actions/indices/refresh.rb +1 -1
  99. data/lib/elasticsearch/api/actions/indices/resolve_index.rb +1 -1
  100. data/lib/elasticsearch/api/actions/indices/rollover.rb +1 -1
  101. data/lib/elasticsearch/api/actions/indices/segments.rb +1 -1
  102. data/lib/elasticsearch/api/actions/indices/shard_stores.rb +1 -1
  103. data/lib/elasticsearch/api/actions/indices/shrink.rb +1 -1
  104. data/lib/elasticsearch/api/actions/indices/simulate_index_template.rb +1 -1
  105. data/lib/elasticsearch/api/actions/indices/simulate_template.rb +1 -1
  106. data/lib/elasticsearch/api/actions/indices/split.rb +1 -1
  107. data/lib/elasticsearch/api/actions/indices/stats.rb +1 -1
  108. data/lib/elasticsearch/api/actions/indices/unfreeze.rb +29 -19
  109. data/lib/elasticsearch/api/actions/indices/update_aliases.rb +1 -1
  110. data/lib/elasticsearch/api/actions/indices/upgrade.rb +1 -1
  111. data/lib/elasticsearch/api/actions/indices/validate_query.rb +1 -1
  112. data/lib/elasticsearch/api/actions/info.rb +1 -1
  113. data/lib/elasticsearch/api/actions/ingest/delete_pipeline.rb +1 -1
  114. data/lib/elasticsearch/api/actions/ingest/geo_ip_stats.rb +43 -0
  115. data/lib/elasticsearch/api/actions/ingest/get_pipeline.rb +3 -1
  116. data/lib/elasticsearch/api/actions/ingest/processor_grok.rb +1 -1
  117. data/lib/elasticsearch/api/actions/ingest/put_pipeline.rb +1 -1
  118. data/lib/elasticsearch/api/actions/ingest/simulate.rb +1 -1
  119. data/lib/elasticsearch/api/actions/mget.rb +1 -1
  120. data/lib/elasticsearch/api/actions/msearch.rb +1 -1
  121. data/lib/elasticsearch/api/actions/msearch_template.rb +1 -1
  122. data/lib/elasticsearch/api/actions/mtermvectors.rb +1 -1
  123. data/lib/elasticsearch/api/actions/nodes/hot_threads.rb +1 -1
  124. data/lib/elasticsearch/api/actions/nodes/info.rb +1 -1
  125. data/lib/elasticsearch/api/actions/nodes/reload_secure_settings.rb +1 -1
  126. data/lib/elasticsearch/api/actions/nodes/stats.rb +4 -2
  127. data/lib/elasticsearch/api/actions/nodes/usage.rb +1 -1
  128. data/lib/elasticsearch/api/actions/open_point_in_time.rb +64 -0
  129. data/lib/elasticsearch/api/actions/ping.rb +1 -1
  130. data/lib/elasticsearch/api/actions/put_script.rb +1 -1
  131. data/lib/elasticsearch/api/actions/rank_eval.rb +1 -1
  132. data/lib/elasticsearch/api/actions/reindex.rb +1 -1
  133. data/lib/elasticsearch/api/actions/reindex_rethrottle.rb +1 -1
  134. data/lib/elasticsearch/api/actions/render_search_template.rb +1 -1
  135. data/lib/elasticsearch/api/actions/scripts_painless_execute.rb +1 -1
  136. data/lib/elasticsearch/api/actions/scroll.rb +1 -1
  137. data/lib/elasticsearch/api/actions/search.rb +1 -1
  138. data/lib/elasticsearch/api/actions/search_shards.rb +1 -1
  139. data/lib/elasticsearch/api/actions/search_template.rb +1 -1
  140. data/lib/elasticsearch/api/actions/shutdown/delete_node.rb +52 -0
  141. data/lib/elasticsearch/api/actions/shutdown/get_node.rb +54 -0
  142. data/lib/elasticsearch/api/actions/shutdown/params_registry.rb +60 -0
  143. data/lib/elasticsearch/api/actions/shutdown/put_node.rb +54 -0
  144. data/lib/elasticsearch/api/actions/snapshot/cleanup_repository.rb +1 -1
  145. data/lib/elasticsearch/api/actions/snapshot/clone.rb +1 -1
  146. data/lib/elasticsearch/api/actions/snapshot/create.rb +1 -1
  147. data/lib/elasticsearch/api/actions/snapshot/create_repository.rb +1 -1
  148. data/lib/elasticsearch/api/actions/snapshot/delete.rb +1 -1
  149. data/lib/elasticsearch/api/actions/snapshot/delete_repository.rb +1 -1
  150. data/lib/elasticsearch/api/actions/snapshot/get.rb +3 -1
  151. data/lib/elasticsearch/api/actions/snapshot/get_repository.rb +1 -1
  152. data/lib/elasticsearch/api/actions/snapshot/restore.rb +1 -1
  153. data/lib/elasticsearch/api/actions/snapshot/status.rb +1 -1
  154. data/lib/elasticsearch/api/actions/snapshot/verify_repository.rb +1 -1
  155. data/lib/elasticsearch/api/actions/tasks/cancel.rb +1 -1
  156. data/lib/elasticsearch/api/actions/tasks/get.rb +1 -1
  157. data/lib/elasticsearch/api/actions/tasks/list.rb +1 -1
  158. data/lib/elasticsearch/api/actions/termvectors.rb +1 -1
  159. data/lib/elasticsearch/api/actions/update.rb +1 -1
  160. data/lib/elasticsearch/api/actions/update_by_query.rb +1 -1
  161. data/lib/elasticsearch/api/actions/update_by_query_rethrottle.rb +1 -1
  162. data/lib/elasticsearch/api/namespace/shutdown.rb +37 -0
  163. data/lib/elasticsearch/api/version.rb +1 -1
  164. data/spec/elasticsearch/api/actions/close_point_in_time_spec.rb +34 -0
  165. data/spec/elasticsearch/api/actions/features/get_features_spec.rb +5 -5
  166. data/spec/elasticsearch/api/actions/features/reset_features_spec.rb +34 -0
  167. data/spec/elasticsearch/api/actions/indices/freeze_spec.rb +1 -1
  168. data/spec/elasticsearch/api/actions/indices/unfreeze_spec.rb +1 -1
  169. data/spec/elasticsearch/api/actions/ingest/geo_ip_stats_spec.rb +34 -0
  170. data/spec/elasticsearch/api/actions/open_point_in_time_spec.rb +44 -0
  171. data/spec/elasticsearch/api/actions/shutdown/delete_node_spec.rb +44 -0
  172. data/spec/elasticsearch/api/actions/shutdown/get_node_spec.rb +46 -0
  173. data/spec/elasticsearch/api/actions/shutdown/put_node_spec.rb +50 -0
  174. data/spec/elasticsearch/api/rest_api_yaml_spec.rb +7 -0
  175. data/spec/rest_yaml_tests_helper.rb +4 -7
  176. data/utils/Gemfile +4 -3
  177. data/utils/thor/generate_source.rb +1 -2
  178. data/utils/thor/generator/files_helper.rb +38 -20
  179. metadata +28 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 42a694e5db47d40c5bd1a2d5e1cc8fc6c6c4edf16fd6010917b5eacddee8584a
4
- data.tar.gz: 58a7c5786ff99ad0713e3a463bab0ebdb897fc9a71da02a34a3842b5dd3a9cff
3
+ metadata.gz: ac1b298f88f95a176b9723eb7fb66ed7e232a9617fd2c8eada50dd685741e3b9
4
+ data.tar.gz: 548d3145ede52487c8d07dd5b8f0be76d3c404efd562b58237d28adac1ab942e
5
5
  SHA512:
6
- metadata.gz: e0582f444374b3f8b97a2aab4b4b1ea7bc96e557c62bedc89e41e0f1ae082367aa832b2dfd7e452e677402e12e068e1d63170edf2d2d6c92ed2e152f5c8d5100
7
- data.tar.gz: ede2dda8d950cddfc6a4d403d2d57b8bf8ad53d0a280e7f696f9aa56efe24ce1430721b8b85944db10db84b60ab1a130cdb4a8d22f30eb9e8a61a78e5a8709ae
6
+ metadata.gz: 79f0f36a869774d61257c2ae2e7d4fe6da8e0f625c63634037cdf34b2ade1197daf80225e49f3e7aa73201f4829a9c52ebbbd6eb02c8e29135c124b35f899f2f
7
+ data.tar.gz: 6ea4bd25abff9691a478f4437e12f541de1ec4f09abd5421b75b2c4d19f784c5364337f34b01d0a67f8279a0dd87dcff1428008ae5b77110e3a6caf3797aadcb
data/README.md CHANGED
@@ -13,8 +13,7 @@ It does not provide an Elasticsearch client; see the
13
13
 
14
14
  The library is compatible with Ruby 1.9 and higher.
15
15
 
16
- It is compatible with Elasticsearch's API versions from 0.90 till current,
17
- just use a release matching major version of Elasticsearch.
16
+ It is compatible with Elasticsearch's API versions from 0.90 till current, just use a release matching major version of Elasticsearch.
18
17
 
19
18
  | Ruby | | Elasticsearch |
20
19
  |:-------------:|:-:| :-----------: |
@@ -190,19 +189,18 @@ Elasticsearch::API.serializer.dump({foo: 'bar'})
190
189
 
191
190
  ## Development
192
191
 
193
- To work on the code, clone and bootstrap the main repository first --
194
- please see instructions in the main [README](../README.md#development).
192
+ To work on the code, clone and bootstrap the main repository first -- please see instructions in the main [README](../README.md#development).
195
193
 
196
- To run tests, launch a testing cluster -- again, see instructions
197
- in the main [README](../README.md#development) -- and use the Rake tasks:
194
+ To run tests, launch a testing cluster -- again, see instructions in the main [README](../README.md#development) -- and use the Rake tasks:
198
195
 
199
196
  ```
200
197
  time rake test:unit
201
198
  time rake test:integration
202
199
  ```
203
200
 
204
- Unit tests have to use Ruby 1.8 compatible syntax, integration tests
205
- can use Ruby 2.x syntax and features.
201
+ We run the test suite for Elasticsearch's Rest API tests. You can read more about this in [the test runner README](https://github.com/elastic/elasticsearch-ruby/tree/master/api-spec-testing#rest-api-yaml-test-runner).
202
+
203
+ The `rest_api` needs the test files from Elasticsearch. You can run the rake task to download the test artifacts in the root folder of the project. This task needs a running cluster to determine which version and build hash of Elasticsearch to use and test against. `TEST_ES_SERVER=http://localhost:9200 rake test:download_artifacts`. This will download the necessary files used for the integration tests to `./tmp`.
206
204
 
207
205
  ## License
208
206
 
data/Rakefile CHANGED
@@ -16,14 +16,7 @@
16
16
  # under the License.
17
17
 
18
18
  require 'bundler/gem_tasks'
19
-
20
- def __current__
21
- Pathname( File.expand_path('..', __FILE__) )
22
- end
23
-
24
- def git_specs(command, options={})
25
- sh "git --git-dir=#{__current__.join('../tmp/elasticsearch/.git')} --work-tree=#{__current__.join('../tmp/elasticsearch')} #{command}", options
26
- end
19
+ require 'json'
27
20
 
28
21
  task(:default) { system 'rake --tasks' }
29
22
  task test: 'test:unit'
@@ -46,73 +39,28 @@ namespace :test do
46
39
  t.exclude_pattern = 'spec/**{,/*/**}/rest_api_yaml_spec.rb'
47
40
  end
48
41
 
49
- # Rest API Spec tests - rake test:rest_api
42
+ desc "Run Rest API Spec tests"
50
43
  RSpec::Core::RakeTask.new(:rest_api) do |t|
51
- t.pattern = 'spec/**{,/*/**}/rest_api_yaml_spec.rb'
52
- end
53
-
54
- desc 'Update the repository with YAML tests'
55
- task :update do
56
- git_specs 'fetch origin', verbose: true
57
- end
58
-
59
- desc "Run integration tests"
60
- task integration: :update do
61
44
  require 'elasticsearch'
62
-
63
- branches = `git --git-dir=#{__current__.join('../tmp/elasticsearch/.git')} --work-tree=#{__current__.join('../tmp/elasticsearch')} branch --no-color`
64
-
65
- current_branch = branches.
66
- split("\n").
67
- select { |b| b =~ /^\*/ }.
68
- reject { |b| b =~ /no branch|detached/ }.
69
- map { |b| b.gsub(/^\*\s*/, '') }.
70
- first
71
-
72
- unless current_branch
73
- STDERR.puts "[!] Unable to determine current branch, defaulting to 'master'"
74
- current_branch = 'master'
75
- end
76
-
77
45
  # Check if a test cluster is running
78
46
  begin
79
47
  url = ENV['TEST_CLUSTER_URL'] || ENV['TEST_ES_SERVER']
80
- url = "http://localhost:#{ENV['TEST_CLUSTER_PORT'] || 9250}" unless url
48
+ url = "http://localhost:#{ENV['TEST_CLUSTER_PORT'] || 9200}" unless url
81
49
  client = Elasticsearch::Client.new :url => url
82
50
  es_version_info = client.info['version']
51
+ version_number = es_version_info['number']
83
52
  build_hash = es_version_info['build_hash']
84
- cluster_running = true
85
53
  rescue Faraday::ConnectionFailed
86
54
  STDERR.puts "[!] Test cluster not running?"
87
- cluster_running = false
55
+ exit 1
88
56
  end
89
57
 
90
- checkout_specs_version = ENV['TEST_NO_CHECKOUT'].nil? ? true : false
91
- checkout_build_hash = ENV['TEST_BUILD_REF'] || build_hash
92
- ENV['TEST_BUILD_REF'] = checkout_build_hash
58
+ t.pattern = 'spec/**{,/*/**}/rest_api_yaml_spec.rb'
59
+ end
93
60
 
94
- begin
95
- unless checkout_specs_version
96
- STDERR.puts '-'*80, "YAML tests: Not switching, TEST_NO_CHECKOUT=y", '-'*80
97
- end
98
-
99
- if checkout_specs_version && !checkout_build_hash
100
- STDERR.puts "[!] Cannot determine checkout build hash -- server not running or TEST_BUILD_REF not specified"
101
- exit(1)
102
- end
103
-
104
- if checkout_specs_version && checkout_build_hash
105
- # Checkout the commit corresponding to the running server build, or passed TEST_BUILD_REF
106
- name = ENV['CI'] ? checkout_build_hash : "[\e[1m#{checkout_build_hash}\e[0m]"
107
- STDERR.puts '-'*80, "YAML tests: Switching to #{name} from #{current_branch}", '-'*80
108
- git_specs "checkout #{checkout_build_hash} --force --quiet"
109
- end
110
-
111
- Rake::Task['test:rest_api'].invoke
112
-
113
- ensure
114
- git_specs "checkout #{current_branch} --force --quiet" if checkout_specs_version && current_branch
115
- end
61
+ desc "Run integration tests"
62
+ task :integration do
63
+ Rake::Task['test:rest_api'].invoke
116
64
  end
117
65
 
118
66
  desc 'Run unit and integration tests'
@@ -121,6 +69,42 @@ namespace :test do
121
69
  Rake::Task['test:integration'].invoke
122
70
  end
123
71
 
72
+ def refresh_artifacts(build_hash, version_number)
73
+ unless build_hash
74
+ STDERR.puts "[!] Cannot determine checkout build hash -- server not running"
75
+ exit(1)
76
+ end
77
+
78
+ puts 'Downloading artifacts file...'
79
+ filename = 'tmp/artifacts.json'
80
+ `curl -s https://artifacts-api.elastic.co/v1/versions/#{version_number} -o #{filename}`
81
+
82
+ unless File.exists?("./#{filename}")
83
+ STDERR.puts '[!] Couldn\'t download artifacts file'
84
+ exit 1
85
+ end
86
+
87
+ artifacts = JSON.parse(File.read('./tmp/artifacts.json'))
88
+
89
+ build_hash_artifact = artifacts['version']['builds'].select do |a|
90
+ a.dig('projects', 'elasticsearch', 'commit_hash') == build_hash
91
+ end.first
92
+ # Dig into the elasticsearch packages, search for the rest-resources-zip package and catch the URL:
93
+ zip_url = build_hash_artifact.dig('projects', 'elasticsearch', 'packages').select { |k,v| k =~ /rest-resources-zip/ }.map { | _, v| v['url'] }.first
94
+
95
+ filename = zip_url.split('/').last
96
+ puts 'Downloading zip file:'
97
+ `curl -s #{zip_url} -o tmp/#{filename}`
98
+
99
+ unless File.exists?("./tmp/#{filename}")
100
+ STDERR.puts '[!] Couldn\'t download artifact'
101
+ exit 1
102
+ end
103
+
104
+ puts "Unzipping file #{filename}"
105
+ `unzip -o tmp/#{filename} -d tmp/`
106
+ end
107
+
124
108
  namespace :cluster do
125
109
  desc "Start Elasticsearch nodes for tests"
126
110
  task :start do
@@ -73,7 +73,8 @@ module Elasticsearch
73
73
  Elasticsearch::API::Cat,
74
74
  Elasticsearch::API::Remote,
75
75
  Elasticsearch::API::DanglingIndices,
76
- Elasticsearch::API::Features
76
+ Elasticsearch::API::Features,
77
+ Elasticsearch::API::Shutdown
77
78
  end
78
79
 
79
80
  # The serializer class
@@ -35,7 +35,7 @@ module Elasticsearch
35
35
  # @option arguments [String|Array] :body The operation definition and data (action-data pairs), separated by newlines. Array of Strings, Header/Data pairs,
36
36
  # or the conveniency "combined" format can be passed, refer to Elasticsearch::API::Utils.__bulkify documentation.
37
37
  #
38
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.12/docs-bulk.html
38
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/docs-bulk.html
39
39
  #
40
40
  def bulk(arguments = {})
41
41
  raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
@@ -31,7 +31,7 @@ module Elasticsearch
31
31
  # @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)
32
32
  # @option arguments [Hash] :headers Custom HTTP headers
33
33
  #
34
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.12/cat-alias.html
34
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/cat-alias.html
35
35
  #
36
36
  def aliases(arguments = {})
37
37
  headers = arguments.delete(:headers) || {}
@@ -32,7 +32,7 @@ module Elasticsearch
32
32
  # @option arguments [Boolean] :v Verbose mode. Display column headers
33
33
  # @option arguments [Hash] :headers Custom HTTP headers
34
34
  #
35
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.12/cat-allocation.html
35
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/cat-allocation.html
36
36
  #
37
37
  def allocation(arguments = {})
38
38
  headers = arguments.delete(:headers) || {}
@@ -29,7 +29,7 @@ module Elasticsearch
29
29
  # @option arguments [Boolean] :v Verbose mode. Display column headers
30
30
  # @option arguments [Hash] :headers Custom HTTP headers
31
31
  #
32
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.12/cat-count.html
32
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/cat-count.html
33
33
  #
34
34
  def count(arguments = {})
35
35
  headers = arguments.delete(:headers) || {}
@@ -30,7 +30,7 @@ module Elasticsearch
30
30
  # @option arguments [Boolean] :v Verbose mode. Display column headers
31
31
  # @option arguments [Hash] :headers Custom HTTP headers
32
32
  #
33
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.12/cat-fielddata.html
33
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/cat-fielddata.html
34
34
  #
35
35
  def fielddata(arguments = {})
36
36
  headers = arguments.delete(:headers) || {}
@@ -30,7 +30,7 @@ module Elasticsearch
30
30
  # @option arguments [Boolean] :v Verbose mode. Display column headers
31
31
  # @option arguments [Hash] :headers Custom HTTP headers
32
32
  #
33
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.12/cat-health.html
33
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/cat-health.html
34
34
  #
35
35
  def health(arguments = {})
36
36
  headers = arguments.delete(:headers) || {}
@@ -25,7 +25,7 @@ module Elasticsearch
25
25
  # @option arguments [List] :s Comma-separated list of column names or column aliases to sort by
26
26
  # @option arguments [Hash] :headers Custom HTTP headers
27
27
  #
28
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.12/cat.html
28
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/cat.html
29
29
  #
30
30
  def help(arguments = {})
31
31
  headers = arguments.delete(:headers) || {}
@@ -37,7 +37,7 @@ module Elasticsearch
37
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
38
  # @option arguments [Hash] :headers Custom HTTP headers
39
39
  #
40
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.12/cat-indices.html
40
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/cat-indices.html
41
41
  #
42
42
  def indices(arguments = {})
43
43
  headers = arguments.delete(:headers) || {}
@@ -30,7 +30,7 @@ module Elasticsearch
30
30
  # @option arguments [Boolean] :v Verbose mode. Display column headers
31
31
  # @option arguments [Hash] :headers Custom HTTP headers
32
32
  #
33
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.12/cat-master.html
33
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/cat-master.html
34
34
  #
35
35
  def master(arguments = {})
36
36
  headers = arguments.delete(:headers) || {}
@@ -30,7 +30,7 @@ module Elasticsearch
30
30
  # @option arguments [Boolean] :v Verbose mode. Display column headers
31
31
  # @option arguments [Hash] :headers Custom HTTP headers
32
32
  #
33
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.12/cat-nodeattrs.html
33
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/cat-nodeattrs.html
34
34
  #
35
35
  def nodeattrs(arguments = {})
36
36
  headers = arguments.delete(:headers) || {}
@@ -31,9 +31,10 @@ module Elasticsearch
31
31
  # @option arguments [List] :s Comma-separated list of column names or column aliases to sort by
32
32
  # @option arguments [String] :time The unit in which to display time values (options: d, h, m, s, ms, micros, nanos)
33
33
  # @option arguments [Boolean] :v Verbose mode. Display column headers
34
+ # @option arguments [Boolean] :include_unloaded_segments If set to true segment stats will include stats for segments that are not currently loaded into memory
34
35
  # @option arguments [Hash] :headers Custom HTTP headers
35
36
  #
36
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.12/cat-nodes.html
37
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/cat-nodes.html
37
38
  #
38
39
  def nodes(arguments = {})
39
40
  headers = arguments.delete(:headers) || {}
@@ -62,7 +63,8 @@ module Elasticsearch
62
63
  :help,
63
64
  :s,
64
65
  :time,
65
- :v
66
+ :v,
67
+ :include_unloaded_segments
66
68
  ].freeze)
67
69
  end
68
70
  end
@@ -31,7 +31,7 @@ module Elasticsearch
31
31
  # @option arguments [Boolean] :v Verbose mode. Display column headers
32
32
  # @option arguments [Hash] :headers Custom HTTP headers
33
33
  #
34
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.12/cat-pending-tasks.html
34
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/cat-pending-tasks.html
35
35
  #
36
36
  def pending_tasks(arguments = {})
37
37
  headers = arguments.delete(:headers) || {}
@@ -31,7 +31,7 @@ module Elasticsearch
31
31
  # @option arguments [Boolean] :v Verbose mode. Display column headers
32
32
  # @option arguments [Hash] :headers Custom HTTP headers
33
33
  #
34
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.12/cat-plugins.html
34
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/cat-plugins.html
35
35
  #
36
36
  def plugins(arguments = {})
37
37
  headers = arguments.delete(:headers) || {}
@@ -33,7 +33,7 @@ module Elasticsearch
33
33
  # @option arguments [Boolean] :v Verbose mode. Display column headers
34
34
  # @option arguments [Hash] :headers Custom HTTP headers
35
35
  #
36
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.12/cat-recovery.html
36
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/cat-recovery.html
37
37
  #
38
38
  def recovery(arguments = {})
39
39
  headers = arguments.delete(:headers) || {}
@@ -30,7 +30,7 @@ module Elasticsearch
30
30
  # @option arguments [Boolean] :v Verbose mode. Display column headers
31
31
  # @option arguments [Hash] :headers Custom HTTP headers
32
32
  #
33
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.12/cat-repositories.html
33
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/cat-repositories.html
34
34
  #
35
35
  def repositories(arguments = {})
36
36
  headers = arguments.delete(:headers) || {}
@@ -30,7 +30,7 @@ module Elasticsearch
30
30
  # @option arguments [Boolean] :v Verbose mode. Display column headers
31
31
  # @option arguments [Hash] :headers Custom HTTP headers
32
32
  #
33
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.12/cat-segments.html
33
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/cat-segments.html
34
34
  #
35
35
  def segments(arguments = {})
36
36
  headers = arguments.delete(:headers) || {}
@@ -33,7 +33,7 @@ module Elasticsearch
33
33
  # @option arguments [Boolean] :v Verbose mode. Display column headers
34
34
  # @option arguments [Hash] :headers Custom HTTP headers
35
35
  #
36
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.12/cat-shards.html
36
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/cat-shards.html
37
37
  #
38
38
  def shards(arguments = {})
39
39
  headers = arguments.delete(:headers) || {}
@@ -32,7 +32,7 @@ module Elasticsearch
32
32
  # @option arguments [Boolean] :v Verbose mode. Display column headers
33
33
  # @option arguments [Hash] :headers Custom HTTP headers
34
34
  #
35
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.12/cat-snapshots.html
35
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/cat-snapshots.html
36
36
  #
37
37
  def snapshots(arguments = {})
38
38
  headers = arguments.delete(:headers) || {}
@@ -33,7 +33,7 @@ module Elasticsearch
33
33
  # @option arguments [Boolean] :v Verbose mode. Display column headers
34
34
  # @option arguments [Hash] :headers Custom HTTP headers
35
35
  #
36
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.12/tasks.html
36
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/tasks.html
37
37
  #
38
38
  def tasks(arguments = {})
39
39
  headers = arguments.delete(:headers) || {}
@@ -31,7 +31,7 @@ module Elasticsearch
31
31
  # @option arguments [Boolean] :v Verbose mode. Display column headers
32
32
  # @option arguments [Hash] :headers Custom HTTP headers
33
33
  #
34
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.12/cat-templates.html
34
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/cat-templates.html
35
35
  #
36
36
  def templates(arguments = {})
37
37
  headers = arguments.delete(:headers) || {}
@@ -33,7 +33,7 @@ module Elasticsearch
33
33
  # @option arguments [Boolean] :v Verbose mode. Display column headers
34
34
  # @option arguments [Hash] :headers Custom HTTP headers
35
35
  #
36
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.12/cat-thread-pool.html
36
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/cat-thread-pool.html
37
37
  #
38
38
  def thread_pool(arguments = {})
39
39
  headers = arguments.delete(:headers) || {}
@@ -29,7 +29,7 @@ module Elasticsearch
29
29
  # Deprecated since version 7.0.0
30
30
  #
31
31
  #
32
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.12/clear-scroll-api.html
32
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/clear-scroll-api.html
33
33
  #
34
34
  def clear_scroll(arguments = {})
35
35
  headers = arguments.delete(:headers) || {}
@@ -0,0 +1,42 @@
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+ module Elasticsearch
19
+ module API
20
+ module Actions
21
+ # Close a point in time
22
+ #
23
+ # @option arguments [Hash] :headers Custom HTTP headers
24
+ # @option arguments [Hash] :body a point-in-time id to close
25
+ #
26
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.x/point-in-time-api.html
27
+ #
28
+ def close_point_in_time(arguments = {})
29
+ headers = arguments.delete(:headers) || {}
30
+
31
+ arguments = arguments.clone
32
+
33
+ method = Elasticsearch::API::HTTP_DELETE
34
+ path = "_pit"
35
+ params = {}
36
+
37
+ body = arguments[:body]
38
+ perform_request(method, path, params, body, headers).body
39
+ end
40
+ end
41
+ end
42
+ end