estool 0.0.9 → 0.1.1
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/lib/estool.rb +3 -1
- data/lib/estool/actions/index.rb +50 -0
- data/lib/estool/index.rb +37 -0
- data/lib/estool/version.rb +2 -2
- metadata +26 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 37793a5579184fc43104c1a9d5ceda2d311a0902
|
4
|
+
data.tar.gz: b47cd4d8b68c1cda023f4604f57c77f9cd5ea9a3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 82205fdcaaa2e2d64d043efa6cc9c2954627b4523c473944654852edeceb6dba8af8545e04c755a79edec988823b329982ab3b59051806aaf44c3add07236ff1
|
7
|
+
data.tar.gz: c7be4fe976f8cd0464beb9fb97db843d81df2b42b77f1fb72c8f696c92816401be228f2bc42efa9c5d897d8eb1782ef9768b27ab97b706fd1486a6e64f7de3ca
|
data/lib/estool.rb
CHANGED
@@ -1,9 +1,11 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
require 'estool/cat'
|
3
|
+
require 'estool/index'
|
3
4
|
require 'thor'
|
4
5
|
|
5
6
|
module Estool
|
6
7
|
class Cli < Thor
|
7
|
-
register(Estool::Cat, 'cat', 'cat [SUBCOMMAND] [OPTIONS]', '
|
8
|
+
register(Estool::Cat, 'cat', 'cat [SUBCOMMAND] [OPTIONS]', 'Display health and status information about the cluster', )
|
9
|
+
register(Estool::Index, 'index', 'index [SUBCOMMAND] [OPTIONS]', 'Manage cluster indices', )
|
8
10
|
end
|
9
11
|
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
require 'active_support'
|
2
|
+
require 'elasticsearch-api'
|
3
|
+
require 'estool/connections'
|
4
|
+
|
5
|
+
module Estool::Actions
|
6
|
+
class Index
|
7
|
+
|
8
|
+
def initialize(command, options)
|
9
|
+
@cmd = command
|
10
|
+
@data = options.except(:host, :port)
|
11
|
+
@server = options.slice(:host, :port)
|
12
|
+
end
|
13
|
+
|
14
|
+
def format_options(data)
|
15
|
+
params = {}
|
16
|
+
data.each do |k, v|
|
17
|
+
case k
|
18
|
+
when 'name'
|
19
|
+
params.merge!(index: v)
|
20
|
+
when 'update'
|
21
|
+
params.merge!(update_all_types: v)
|
22
|
+
when 'wait'
|
23
|
+
params.merge!(wait_for_active_shards: v)
|
24
|
+
else
|
25
|
+
params.merge!("#{k}": v)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
return params
|
29
|
+
end
|
30
|
+
|
31
|
+
def index(action, options, server)
|
32
|
+
client = Estool::Connections.start_conn(server[:host], server[:port])
|
33
|
+
Estool::Connections.test_conn(client)
|
34
|
+
begin
|
35
|
+
puts client.indices.send(action, options)
|
36
|
+
rescue ArgumentError => args
|
37
|
+
puts "
|
38
|
+
#{args}
|
39
|
+
Usage: 'estool index help #{action}' for more information
|
40
|
+
"
|
41
|
+
exit 1
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def run
|
46
|
+
params = format_options(@data)
|
47
|
+
index(@cmd, params, @server)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
data/lib/estool/index.rb
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'thor'
|
2
|
+
require 'estool/actions/index'
|
3
|
+
|
4
|
+
module Estool
|
5
|
+
class Index < Thor
|
6
|
+
class_option 'host', :type => :string,
|
7
|
+
:banner => 'Elasticsearch host to connect to',
|
8
|
+
:default => 'localhost',
|
9
|
+
:aliases => '-H'
|
10
|
+
class_option 'port', :type => :string,
|
11
|
+
:banner => 'Port to use when connecting to Elasticsearch',
|
12
|
+
:default => '9200',
|
13
|
+
:aliases => '-p'
|
14
|
+
class_option 'name', :type => :string,
|
15
|
+
:banner => 'Index name',
|
16
|
+
:aliases => '-n',
|
17
|
+
:required => true
|
18
|
+
|
19
|
+
desc 'create [OPTIONS]', 'Create new index'
|
20
|
+
method_option 'update', :type => :boolean,
|
21
|
+
:banner => 'Update the mapping for all fields with the same name across all types.',
|
22
|
+
:default => false,
|
23
|
+
:aliases => '-u'
|
24
|
+
method_option 'wait', :type => :numeric,
|
25
|
+
:banner => 'Wait until specified number of shards is active.',
|
26
|
+
:default => 0,
|
27
|
+
:aliases => '-w'
|
28
|
+
def create
|
29
|
+
Estool::Actions::Index.new(:create, options).run
|
30
|
+
end
|
31
|
+
|
32
|
+
desc 'delete [OPTIONS]', 'Delete index'
|
33
|
+
def delete
|
34
|
+
Estool::Actions::Index.new(:delete, options).run
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
data/lib/estool/version.rb
CHANGED
metadata
CHANGED
@@ -1,15 +1,35 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: estool
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Hollinger III
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-12-
|
11
|
+
date: 2016-12-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: elasticsearch
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 5.0.0
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 6.0.0
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 5.0.0
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 6.0.0
|
13
33
|
- !ruby/object:Gem::Dependency
|
14
34
|
name: elasticsearch-api
|
15
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -57,8 +77,10 @@ files:
|
|
57
77
|
- bin/estool
|
58
78
|
- lib/estool.rb
|
59
79
|
- lib/estool/actions/cat.rb
|
80
|
+
- lib/estool/actions/index.rb
|
60
81
|
- lib/estool/cat.rb
|
61
82
|
- lib/estool/connections.rb
|
83
|
+
- lib/estool/index.rb
|
62
84
|
- lib/estool/version.rb
|
63
85
|
homepage: https://github.com/dhollinger/estool
|
64
86
|
licenses:
|
@@ -83,5 +105,6 @@ rubyforge_project:
|
|
83
105
|
rubygems_version: 2.4.5.1
|
84
106
|
signing_key:
|
85
107
|
specification_version: 4
|
86
|
-
summary: Command Line tool for interacting with Elasticsearch
|
108
|
+
summary: Command Line tool for interacting with Elasticsearch. Still in Development,
|
109
|
+
expect bugs and fast releases until 1.0.0
|
87
110
|
test_files: []
|