elasticsearch-xpack 0.1.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.
Files changed (45) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/.travis.yml +4 -0
  4. data/Gemfile +4 -0
  5. data/LICENSE.txt +21 -0
  6. data/README.md +62 -0
  7. data/Rakefile +95 -0
  8. data/elasticsearch-xpack.gemspec +39 -0
  9. data/examples/watcher/error_500.rb +163 -0
  10. data/lib/elasticsearch/xpack.rb +32 -0
  11. data/lib/elasticsearch/xpack/api/actions/graph/explore.rb +39 -0
  12. data/lib/elasticsearch/xpack/api/actions/info.rb +30 -0
  13. data/lib/elasticsearch/xpack/api/actions/license/delete.rb +23 -0
  14. data/lib/elasticsearch/xpack/api/actions/license/get.rb +26 -0
  15. data/lib/elasticsearch/xpack/api/actions/license/post.rb +28 -0
  16. data/lib/elasticsearch/xpack/api/actions/monitoring/bulk.rb +45 -0
  17. data/lib/elasticsearch/xpack/api/actions/security/authenticate.rb +24 -0
  18. data/lib/elasticsearch/xpack/api/actions/security/change_password.rb +34 -0
  19. data/lib/elasticsearch/xpack/api/actions/security/clear_cached_realms.rb +33 -0
  20. data/lib/elasticsearch/xpack/api/actions/security/clear_cached_roles.rb +27 -0
  21. data/lib/elasticsearch/xpack/api/actions/security/delete_role.rb +34 -0
  22. data/lib/elasticsearch/xpack/api/actions/security/delete_user.rb +37 -0
  23. data/lib/elasticsearch/xpack/api/actions/security/get_role.rb +29 -0
  24. data/lib/elasticsearch/xpack/api/actions/security/get_user.rb +29 -0
  25. data/lib/elasticsearch/xpack/api/actions/security/put_role.rb +32 -0
  26. data/lib/elasticsearch/xpack/api/actions/security/put_user.rb +34 -0
  27. data/lib/elasticsearch/xpack/api/actions/usage.rb +23 -0
  28. data/lib/elasticsearch/xpack/api/actions/watcher/ack_watch.rb +36 -0
  29. data/lib/elasticsearch/xpack/api/actions/watcher/activate_watch.rb +32 -0
  30. data/lib/elasticsearch/xpack/api/actions/watcher/deactivate_watch.rb +32 -0
  31. data/lib/elasticsearch/xpack/api/actions/watcher/delete_watch.rb +35 -0
  32. data/lib/elasticsearch/xpack/api/actions/watcher/execute_watch.rb +28 -0
  33. data/lib/elasticsearch/xpack/api/actions/watcher/get_watch.rb +27 -0
  34. data/lib/elasticsearch/xpack/api/actions/watcher/put_watch.rb +35 -0
  35. data/lib/elasticsearch/xpack/api/actions/watcher/restart.rb +23 -0
  36. data/lib/elasticsearch/xpack/api/actions/watcher/start.rb +24 -0
  37. data/lib/elasticsearch/xpack/api/actions/watcher/stats.rb +27 -0
  38. data/lib/elasticsearch/xpack/api/actions/watcher/stop.rb +24 -0
  39. data/lib/elasticsearch/xpack/api/namespace/graph.rb +18 -0
  40. data/lib/elasticsearch/xpack/api/namespace/license.rb +18 -0
  41. data/lib/elasticsearch/xpack/api/namespace/monitoring.rb +18 -0
  42. data/lib/elasticsearch/xpack/api/namespace/security.rb +18 -0
  43. data/lib/elasticsearch/xpack/api/namespace/watcher.rb +18 -0
  44. data/lib/elasticsearch/xpack/version.rb +5 -0
  45. metadata +297 -0
@@ -0,0 +1,32 @@
1
+ module Elasticsearch
2
+ module XPack
3
+ module API
4
+ module Security
5
+ module Actions
6
+
7
+ # Update or create a role for the native shield realm
8
+ #
9
+ # @option arguments [String] :name Role name (*Required*)
10
+ # @option arguments [Hash] :body The role to add (*Required*)
11
+ # @option arguments [Boolean] :refresh Refresh the index after performing the operation
12
+ #
13
+ # @see https://www.elastic.co/guide/en/x-pack/current/security-api-roles.html#security-api-put-role
14
+ #
15
+ def put_role(arguments={})
16
+ raise ArgumentError, "Required argument 'name' missing" unless arguments[:name]
17
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
18
+
19
+ valid_params = [ :refresh ]
20
+
21
+ method = Elasticsearch::API::HTTP_PUT
22
+ path = "_xpack/security/role/#{arguments[:name]}"
23
+ params = Elasticsearch::API::Utils.__validate_and_extract_params arguments, valid_params
24
+ body = arguments[:body]
25
+
26
+ perform_request(method, path, params, body).body
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,34 @@
1
+ module Elasticsearch
2
+ module XPack
3
+ module API
4
+ module Security
5
+ module Actions
6
+
7
+ # Update or create a user for the native realm
8
+ #
9
+ # @option arguments [String] :username The username of the User (*Required*)
10
+ # @option arguments [Hash] :body The user to add (*Required*)
11
+ # @option arguments [Boolean] :refresh Refresh the index after performing the operation
12
+ #
13
+ # @see https://www.elastic.co/guide/en/x-pack/current/security-api-users.html#security-api-put-user
14
+ #
15
+ def put_user(arguments={})
16
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
17
+
18
+ valid_params = [ :refresh ]
19
+
20
+ arguments = arguments.clone
21
+ username = arguments.delete(:username)
22
+
23
+ method = Elasticsearch::API::HTTP_PUT
24
+ path = Elasticsearch::API::Utils.__pathify "_xpack/security/user", username
25
+ params = Elasticsearch::API::Utils.__validate_and_extract_params arguments, valid_params
26
+ body = arguments[:body]
27
+
28
+ perform_request(method, path, params, body).body
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,23 @@
1
+ module Elasticsearch
2
+ module XPack
3
+ module API
4
+ module Actions
5
+
6
+ # Retrieve information about X-Pack features usage
7
+ #
8
+ # @option arguments [Duration] :master_timeout Specify timeout for watch write operation
9
+ #
10
+ #
11
+ def usage(arguments={})
12
+ valid_params = [ :master_timeout ]
13
+ method = Elasticsearch::API::HTTP_GET
14
+ path = "_xpack/usage"
15
+ params = Elasticsearch::API::Utils.__validate_and_extract_params arguments, valid_params
16
+ body = nil
17
+
18
+ perform_request(method, path, params, body).body
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,36 @@
1
+ module Elasticsearch
2
+ module XPack
3
+ module API
4
+ module Watcher
5
+ module Actions
6
+
7
+ # Acknowledge watch actions to throttle their executions
8
+ #
9
+ # @option arguments [String] :watch_id Watch ID (*Required*)
10
+ # @option arguments [List] :action_id A comma-separated list of the action ids to be acked (default: all)
11
+ # @option arguments [Duration] :master_timeout Specify timeout for watch write operation
12
+ #
13
+ # @see http://www.elastic.co/guide/en/x-pack/current/watcher-api-ack-watch.html
14
+ #
15
+ def ack_watch(arguments={})
16
+ raise ArgumentError, "Required argument 'watch_id' missing" unless arguments[:watch_id]
17
+
18
+ valid_params = [
19
+ :master_timeout,
20
+ :action_id ]
21
+
22
+ arguments = arguments.clone
23
+ watch_id = arguments.delete(:watch_id)
24
+
25
+ method = Elasticsearch::API::HTTP_PUT
26
+ path = "_xpack/watcher/watch/#{watch_id}/_ack"
27
+ params = Elasticsearch::API::Utils.__validate_and_extract_params arguments, valid_params
28
+ body = nil
29
+
30
+ perform_request(method, path, params, body).body
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,32 @@
1
+ module Elasticsearch
2
+ module XPack
3
+ module API
4
+ module Watcher
5
+ module Actions
6
+
7
+ # Activate a currently inactive watch
8
+ #
9
+ # @option arguments [String] :watch_id Watch ID (*Required*)
10
+ # @option arguments [Duration] :master_timeout Specify timeout for watch write operation
11
+ #
12
+ # @see http://www.elastic.co/guide/en/x-pack/current/watcher-api-activate-watch.html
13
+ #
14
+ def activate_watch(arguments={})
15
+ raise ArgumentError, "Required argument 'watch_id' missing" unless arguments[:watch_id]
16
+ valid_params = [ :master_timeout ]
17
+
18
+ arguments = arguments.clone
19
+ watch_id = arguments.delete(:watch_id)
20
+
21
+ method = Elasticsearch::API::HTTP_PUT
22
+ path = "_xpack/watcher/watch/#{watch_id}/_activate"
23
+ params = Elasticsearch::API::Utils.__validate_and_extract_params arguments, valid_params
24
+ body = nil
25
+
26
+ perform_request(method, path, params, body).body
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,32 @@
1
+ module Elasticsearch
2
+ module XPack
3
+ module API
4
+ module Watcher
5
+ module Actions
6
+
7
+ # Deactivate a currently active watch
8
+ #
9
+ # @option arguments [String] :watch_id Watch ID (*Required*)
10
+ # @option arguments [Duration] :master_timeout Specify timeout for watch write operation
11
+ #
12
+ # @see http://www.elastic.co/guide/en/x-pack/current/watcher-api-deactivate-watch.html
13
+ #
14
+ def deactivate_watch(arguments={})
15
+ raise ArgumentError, "Required argument 'watch_id' missing" unless arguments[:watch_id]
16
+ valid_params = [ :master_timeout ]
17
+
18
+ arguments = arguments.clone
19
+ watch_id = arguments.delete(:watch_id)
20
+
21
+ method = Elasticsearch::API::HTTP_PUT
22
+ path = "_xpack/watcher/watch/#{watch_id}/_deactivate"
23
+ params = Elasticsearch::API::Utils.__validate_and_extract_params arguments, valid_params
24
+ body = nil
25
+
26
+ perform_request(method, path, params, body).body
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,35 @@
1
+ module Elasticsearch
2
+ module XPack
3
+ module API
4
+ module Watcher
5
+ module Actions
6
+
7
+ # Remove a watch
8
+ #
9
+ # @option arguments [String] :id Watch ID (*Required*)
10
+ # @option arguments [Duration] :master_timeout Specify timeout for watch write operation
11
+ # @option arguments [Boolean] :force Specify if this request should be forced and ignore locks
12
+ #
13
+ # @see http://www.elastic.co/guide/en/x-pack/current/appendix-api-delete-watch.html
14
+ #
15
+ def delete_watch(arguments={})
16
+ raise ArgumentError, "Required argument 'id' missing" unless arguments[:id]
17
+ valid_params = [
18
+ :master_timeout,
19
+ :force ]
20
+ method = Elasticsearch::API::HTTP_DELETE
21
+ path = "_xpack/watcher/watch/#{arguments[:id]}"
22
+ params = Elasticsearch::API::Utils.__validate_and_extract_params arguments, valid_params
23
+ body = nil
24
+
25
+ if Array(arguments[:ignore]).include?(404)
26
+ Elasticsearch::API::Utils.__rescue_from_not_found { perform_request(method, path, params, body).body }
27
+ else
28
+ perform_request(method, path, params, body).body
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,28 @@
1
+ module Elasticsearch
2
+ module XPack
3
+ module API
4
+ module Watcher
5
+ module Actions
6
+
7
+ # Force the execution of a stored watch
8
+ #
9
+ # @option arguments [String] :id Watch ID
10
+ # @option arguments [Hash] :body Execution control
11
+ # @option arguments [Boolean] :debug indicates whether the watch should execute in debug mode
12
+ #
13
+ # @see http://www.elastic.co/guide/en/x-pack/current/watcher-api-execute-watch.html
14
+ #
15
+ def execute_watch(arguments={})
16
+ valid_params = [ :debug ]
17
+ method = Elasticsearch::API::HTTP_PUT
18
+ path = "_xpack/watcher/watch/#{arguments[:id]}/_execute"
19
+ params = Elasticsearch::API::Utils.__validate_and_extract_params arguments, valid_params
20
+ body = arguments[:body]
21
+
22
+ perform_request(method, path, params, body).body
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,27 @@
1
+ module Elasticsearch
2
+ module XPack
3
+ module API
4
+ module Watcher
5
+ module Actions
6
+
7
+ # Retrieve a watch
8
+ #
9
+ # @option arguments [String] :id Watch ID (*Required*)
10
+ #
11
+ # @see https://www.elastic.co/guide/en/x-pack/current/watcher-api-get-watch.html
12
+ #
13
+ def get_watch(arguments={})
14
+ raise ArgumentError, "Required argument 'id' missing" unless arguments[:id]
15
+
16
+ method = Elasticsearch::API::HTTP_GET
17
+ path = "_xpack/watcher/watch/#{arguments[:id]}"
18
+ params = {}
19
+ body = nil
20
+
21
+ perform_request(method, path, params, body).body
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,35 @@
1
+ module Elasticsearch
2
+ module XPack
3
+ module API
4
+ module Watcher
5
+ module Actions
6
+
7
+ # Register a new watch in or update an existing one
8
+ #
9
+ # @option arguments [String] :id Watch ID (*Required*)
10
+ # @option arguments [Hash] :body The watch (*Required*)
11
+ # @option arguments [Duration] :master_timeout Specify timeout for watch write operation
12
+ # @option arguments [Boolean] :active Specify whether the watch is in/active by default
13
+ #
14
+ # @see http://www.elastic.co/guide/en/x-pack/current/watcher-api-put-watch.html
15
+ #
16
+ def put_watch(arguments={})
17
+ raise ArgumentError, "Required argument 'id' missing" unless arguments[:id]
18
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
19
+
20
+ valid_params = [
21
+ :master_timeout,
22
+ :active ]
23
+
24
+ method = Elasticsearch::API::HTTP_PUT
25
+ path = "_xpack/watcher/watch/#{arguments[:id]}"
26
+ params = Elasticsearch::API::Utils.__validate_and_extract_params arguments, valid_params
27
+ body = arguments[:body]
28
+
29
+ perform_request(method, path, params, body).body
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,23 @@
1
+ module Elasticsearch
2
+ module XPack
3
+ module API
4
+ module Watcher
5
+ module Actions
6
+
7
+ # Start and stop the Watcher service
8
+ #
9
+ # @see http://www.elastic.co/guide/en/x-pack/current/watcher-api-restart.html
10
+ #
11
+ def restart(arguments={})
12
+ method = Elasticsearch::API::HTTP_POST
13
+ path = "_xpack/watcher/_restart"
14
+ params = {}
15
+ body = nil
16
+
17
+ perform_request(method, path, params, body).body
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,24 @@
1
+ module Elasticsearch
2
+ module XPack
3
+ module API
4
+ module Watcher
5
+ module Actions
6
+
7
+ # Start the Watcher service
8
+ #
9
+ #
10
+ # @see http://www.elastic.co/guide/en/x-pack/current/watcher-api-start.html
11
+ #
12
+ def start(arguments={})
13
+ method = Elasticsearch::API::HTTP_POST
14
+ path = "_xpack/watcher/_start"
15
+ params = {}
16
+ body = nil
17
+
18
+ perform_request(method, path, params, body).body
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,27 @@
1
+ module Elasticsearch
2
+ module XPack
3
+ module API
4
+ module Watcher
5
+ module Actions
6
+
7
+ # Return the current Watcher metrics
8
+ #
9
+ # @option arguments [String] :metric Additional metrics to be included in the response
10
+ # (options: _all, queued_watches, pending_watches)
11
+ #
12
+ # @see https://www.elastic.co/guide/en/x-pack/current/watcher-api-stats.html
13
+ #
14
+ def stats(arguments={})
15
+ valid_params = [ :metric ]
16
+ method = Elasticsearch::API::HTTP_GET
17
+ path = "_xpack/watcher/stats"
18
+ params = Elasticsearch::API::Utils.__validate_and_extract_params arguments, valid_params
19
+ body = nil
20
+
21
+ perform_request(method, path, params, body).body
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,24 @@
1
+ module Elasticsearch
2
+ module XPack
3
+ module API
4
+ module Watcher
5
+ module Actions
6
+
7
+ # Stop the Watcher service
8
+ #
9
+ #
10
+ # @see http://www.elastic.co/guide/en/x-pack/current/watcher-api-stop.html
11
+ #
12
+ def stop(arguments={})
13
+ method = Elasticsearch::API::HTTP_POST
14
+ path = "_xpack/watcher/_stop"
15
+ params = {}
16
+ body = nil
17
+
18
+ perform_request(method, path, params, body).body
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,18 @@
1
+ module Elasticsearch
2
+ module XPack
3
+ module API
4
+ module Graph
5
+ module Actions; end
6
+
7
+ class GraphClient
8
+ include Elasticsearch::API::Common::Client, Elasticsearch::API::Common::Client::Base, Graph::Actions
9
+ end
10
+
11
+ def graph
12
+ @graph ||= GraphClient.new(self)
13
+ end
14
+
15
+ end
16
+ end
17
+ end
18
+ end