elasticsearch-api 7.12.0 → 7.13.0.pre
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.
- checksums.yaml +4 -4
- data/README.md +6 -8
- data/Rakefile +46 -62
- data/lib/elasticsearch/api.rb +2 -1
- data/lib/elasticsearch/api/actions/bulk.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/aliases.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/allocation.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/count.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/fielddata.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/health.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/help.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/indices.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/master.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/nodeattrs.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/nodes.rb +4 -2
- data/lib/elasticsearch/api/actions/cat/pending_tasks.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/plugins.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/recovery.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/repositories.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/segments.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/shards.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/snapshots.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/tasks.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/templates.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/thread_pool.rb +1 -1
- data/lib/elasticsearch/api/actions/clear_scroll.rb +1 -1
- data/lib/elasticsearch/api/actions/close_point_in_time.rb +42 -0
- data/lib/elasticsearch/api/actions/cluster/allocation_explain.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/delete_component_template.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/delete_voting_config_exclusions.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/exists_component_template.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/get_component_template.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/get_settings.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/health.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/pending_tasks.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/post_voting_config_exclusions.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/put_component_template.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/put_settings.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/remote_info.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/reroute.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/state.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/stats.rb +1 -1
- data/lib/elasticsearch/api/actions/count.rb +1 -1
- data/lib/elasticsearch/api/actions/create.rb +1 -1
- data/lib/elasticsearch/api/actions/dangling_indices/delete_dangling_index.rb +1 -1
- data/lib/elasticsearch/api/actions/dangling_indices/import_dangling_index.rb +1 -1
- data/lib/elasticsearch/api/actions/dangling_indices/list_dangling_indices.rb +1 -1
- data/lib/elasticsearch/api/actions/delete.rb +1 -1
- data/lib/elasticsearch/api/actions/delete_by_query.rb +1 -1
- data/lib/elasticsearch/api/actions/delete_by_query_rethrottle.rb +1 -1
- data/lib/elasticsearch/api/actions/delete_script.rb +1 -1
- data/lib/elasticsearch/api/actions/exists.rb +1 -1
- data/lib/elasticsearch/api/actions/exists_source.rb +1 -1
- data/lib/elasticsearch/api/actions/explain.rb +1 -1
- data/lib/elasticsearch/api/actions/features/get_features.rb +2 -2
- data/lib/elasticsearch/api/actions/features/reset_features.rb +47 -0
- data/lib/elasticsearch/api/actions/field_caps.rb +1 -1
- data/lib/elasticsearch/api/actions/get.rb +1 -1
- data/lib/elasticsearch/api/actions/get_script.rb +1 -1
- data/lib/elasticsearch/api/actions/get_script_context.rb +1 -1
- data/lib/elasticsearch/api/actions/get_script_languages.rb +1 -1
- data/lib/elasticsearch/api/actions/get_source.rb +1 -1
- data/lib/elasticsearch/api/actions/index.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/add_block.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/analyze.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/clear_cache.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/clone.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/close.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/create.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/delete.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/delete_alias.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/delete_index_template.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/delete_template.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/exists.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/exists_alias.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/exists_index_template.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/exists_template.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/exists_type.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/flush.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/flush_synced.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/forcemerge.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/freeze.rb +29 -19
- data/lib/elasticsearch/api/actions/indices/get.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/get_alias.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/get_field_mapping.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/get_index_template.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/get_mapping.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/get_settings.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/get_template.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/get_upgrade.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/open.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/put_alias.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/put_index_template.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/put_mapping.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/put_settings.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/put_template.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/recovery.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/refresh.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/resolve_index.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/rollover.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/segments.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/shard_stores.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/shrink.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/simulate_index_template.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/simulate_template.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/split.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/stats.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/unfreeze.rb +29 -19
- data/lib/elasticsearch/api/actions/indices/update_aliases.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/upgrade.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/validate_query.rb +1 -1
- data/lib/elasticsearch/api/actions/info.rb +1 -1
- data/lib/elasticsearch/api/actions/ingest/delete_pipeline.rb +1 -1
- data/lib/elasticsearch/api/actions/ingest/geo_ip_stats.rb +43 -0
- data/lib/elasticsearch/api/actions/ingest/get_pipeline.rb +3 -1
- data/lib/elasticsearch/api/actions/ingest/processor_grok.rb +1 -1
- data/lib/elasticsearch/api/actions/ingest/put_pipeline.rb +1 -1
- data/lib/elasticsearch/api/actions/ingest/simulate.rb +1 -1
- data/lib/elasticsearch/api/actions/mget.rb +1 -1
- data/lib/elasticsearch/api/actions/msearch.rb +1 -1
- data/lib/elasticsearch/api/actions/msearch_template.rb +1 -1
- data/lib/elasticsearch/api/actions/mtermvectors.rb +1 -1
- data/lib/elasticsearch/api/actions/nodes/hot_threads.rb +1 -1
- data/lib/elasticsearch/api/actions/nodes/info.rb +1 -1
- data/lib/elasticsearch/api/actions/nodes/reload_secure_settings.rb +1 -1
- data/lib/elasticsearch/api/actions/nodes/stats.rb +4 -2
- data/lib/elasticsearch/api/actions/nodes/usage.rb +1 -1
- data/lib/elasticsearch/api/actions/open_point_in_time.rb +64 -0
- data/lib/elasticsearch/api/actions/ping.rb +1 -1
- data/lib/elasticsearch/api/actions/put_script.rb +1 -1
- data/lib/elasticsearch/api/actions/rank_eval.rb +1 -1
- data/lib/elasticsearch/api/actions/reindex.rb +1 -1
- data/lib/elasticsearch/api/actions/reindex_rethrottle.rb +1 -1
- data/lib/elasticsearch/api/actions/render_search_template.rb +1 -1
- data/lib/elasticsearch/api/actions/scripts_painless_execute.rb +1 -1
- data/lib/elasticsearch/api/actions/scroll.rb +1 -1
- data/lib/elasticsearch/api/actions/search.rb +1 -1
- data/lib/elasticsearch/api/actions/search_shards.rb +1 -1
- data/lib/elasticsearch/api/actions/search_template.rb +1 -1
- data/lib/elasticsearch/api/actions/shutdown/delete_node.rb +52 -0
- data/lib/elasticsearch/api/actions/shutdown/get_node.rb +54 -0
- data/lib/elasticsearch/api/actions/shutdown/params_registry.rb +60 -0
- data/lib/elasticsearch/api/actions/shutdown/put_node.rb +54 -0
- data/lib/elasticsearch/api/actions/snapshot/cleanup_repository.rb +1 -1
- data/lib/elasticsearch/api/actions/snapshot/clone.rb +1 -1
- data/lib/elasticsearch/api/actions/snapshot/create.rb +1 -1
- data/lib/elasticsearch/api/actions/snapshot/create_repository.rb +1 -1
- data/lib/elasticsearch/api/actions/snapshot/delete.rb +1 -1
- data/lib/elasticsearch/api/actions/snapshot/delete_repository.rb +1 -1
- data/lib/elasticsearch/api/actions/snapshot/get.rb +3 -1
- data/lib/elasticsearch/api/actions/snapshot/get_repository.rb +1 -1
- data/lib/elasticsearch/api/actions/snapshot/restore.rb +1 -1
- data/lib/elasticsearch/api/actions/snapshot/status.rb +1 -1
- data/lib/elasticsearch/api/actions/snapshot/verify_repository.rb +1 -1
- data/lib/elasticsearch/api/actions/tasks/cancel.rb +1 -1
- data/lib/elasticsearch/api/actions/tasks/get.rb +1 -1
- data/lib/elasticsearch/api/actions/tasks/list.rb +1 -1
- data/lib/elasticsearch/api/actions/termvectors.rb +1 -1
- data/lib/elasticsearch/api/actions/update.rb +1 -1
- data/lib/elasticsearch/api/actions/update_by_query.rb +1 -1
- data/lib/elasticsearch/api/actions/update_by_query_rethrottle.rb +1 -1
- data/lib/elasticsearch/api/namespace/shutdown.rb +37 -0
- data/lib/elasticsearch/api/version.rb +1 -1
- data/spec/elasticsearch/api/actions/close_point_in_time_spec.rb +34 -0
- data/spec/elasticsearch/api/actions/features/get_features_spec.rb +5 -5
- data/spec/elasticsearch/api/actions/features/reset_features_spec.rb +34 -0
- data/spec/elasticsearch/api/actions/indices/freeze_spec.rb +1 -1
- data/spec/elasticsearch/api/actions/indices/unfreeze_spec.rb +1 -1
- data/spec/elasticsearch/api/actions/ingest/geo_ip_stats_spec.rb +34 -0
- data/spec/elasticsearch/api/actions/open_point_in_time_spec.rb +44 -0
- data/spec/elasticsearch/api/actions/shutdown/delete_node_spec.rb +44 -0
- data/spec/elasticsearch/api/actions/shutdown/get_node_spec.rb +46 -0
- data/spec/elasticsearch/api/actions/shutdown/put_node_spec.rb +50 -0
- data/spec/elasticsearch/api/rest_api_yaml_spec.rb +7 -0
- data/spec/rest_yaml_tests_helper.rb +4 -7
- data/utils/Gemfile +4 -3
- data/utils/thor/generate_source.rb +1 -2
- data/utils/thor/generator/files_helper.rb +38 -20
- metadata +28 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ac1b298f88f95a176b9723eb7fb66ed7e232a9617fd2c8eada50dd685741e3b9
|
|
4
|
+
data.tar.gz: 548d3145ede52487c8d07dd5b8f0be76d3c404efd562b58237d28adac1ab942e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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
|
-
|
|
205
|
-
|
|
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
|
-
|
|
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'] ||
|
|
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
|
-
|
|
55
|
+
exit 1
|
|
88
56
|
end
|
|
89
57
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
ENV['TEST_BUILD_REF'] = checkout_build_hash
|
|
58
|
+
t.pattern = 'spec/**{,/*/**}/rest_api_yaml_spec.rb'
|
|
59
|
+
end
|
|
93
60
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
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
|
data/lib/elasticsearch/api.rb
CHANGED
|
@@ -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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|