mackerel-client 0.4.1 → 0.5.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 4d420580a522e80698166f2b7d3ccce50c5df7b0
4
- data.tar.gz: cd9032028a01755fa2fbb7e79b6590375bd0aa6f
2
+ SHA256:
3
+ metadata.gz: 0f043c163694280f7233b26cf625bdba0caa646ba55d3c2cba6002772468c7b9
4
+ data.tar.gz: 7b1c11e80e5126cc8312b3d4695e0bc980f8a9c83ce3f629431a5625e89e5624
5
5
  SHA512:
6
- metadata.gz: fbc6a2762fdbabad4fcfd8a4631b4d89f6b69158eec3e79e47c4542df2fe2bf9248f733ab97dad0b31280af1887f9c229239dea6080e0c14b8be0ed2d2644837
7
- data.tar.gz: 9f71cb13cf0442de1a74e0e759794bacb9a47bd8f39d87530643f135b9d5127d5d8ac6030c1b7e3e2215d6daef0c8ad31319f156d85cda60619ce33a3425aeb9
6
+ metadata.gz: 18f19702d70fa6718924102398852f947f24d11721aa839af55c141819b0e4cb184b0ccf0ebaca5af3fd75c192fb1e77f2e0e72939aaa396c2a262dd9a207a24
7
+ data.tar.gz: a364791a0b00a4695f654f6fae03002a4e11cfa9e2ba5ff55265e0bffd98fa518970315f80672dfbc21108c17997777a2c744c6950b9a8cfa84e0cc91345a56c
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # mackerel-client [![Build Status](https://travis-ci.org/mackerelio/mackerel-client-ruby.svg?branch=master)](https://travis-ci.org/mackerelio/mackerel-client-ruby) [![Gem Version](https://badge.fury.io/rb/mackerel-client.png)](http://badge.fury.io/rb/mackerel-client)
2
2
 
3
- mackerel-client is a ruby library to access Mackerel (https://mackerel.io/). CLI tool `mkr.rb` is also provided.
3
+ mackerel-client is a ruby library to access Mackerel (https://mackerel.io/).
4
4
 
5
5
  ## Usage
6
6
 
@@ -30,35 +30,3 @@ Or install it yourself as:
30
30
  ```sh
31
31
  gem install mackerel-client
32
32
  ```
33
-
34
- # CLI
35
-
36
- ## Host
37
-
38
- * Get host(s) information from hostname or service, role.
39
- ```
40
- mkr.rb host info [--name foo] [--service service] [--role role]
41
- ```
42
-
43
- * Set status of a host
44
- ```
45
- mkr.rb host status --host-id foo --status working
46
- ```
47
-
48
- * Retire a host
49
- ```
50
- mkr.rb host retire --host-id foo
51
- ```
52
-
53
- * Get status of a host (not implemented yet)
54
- ```
55
- mkr.rb host status --host-id foo
56
- ```
57
-
58
- Note: CLI command has been renamed to `mkr.rb` from 0.0.7.
59
- Primary CLI `mkr` is implemented in Go (https://github.com/mackerelio/mkr).
60
-
61
- ## Authentication
62
- ```
63
- export MACKEREL_APIKEY=foobar
64
- ```
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.1
1
+ 0.5.0
@@ -1,3 +1,2 @@
1
1
  require 'mackerel/client'
2
- require 'mackerel/runner'
3
2
  require 'mackerel/version'
@@ -46,7 +46,7 @@ module Mackerel
46
46
  end
47
47
 
48
48
  private
49
- ERROR_MESSAGE_FOR_API_KEY_ABSENCE = "API key is absent. Set your API key in a environment variable called MACKEREL_APIKEY."
49
+ ERROR_MESSAGE_FOR_API_KEY_ABSENCE = "API key is absent."
50
50
 
51
51
  def client
52
52
  @client ||= http_client
@@ -45,20 +45,20 @@ module Mackerel
45
45
  def post_host(host)
46
46
  command = ApiCommand.new(:post, "/api/v0/hosts", @api_key)
47
47
  command.body = host.to_json
48
- data = command.execute(client)
48
+ command.execute(client)
49
49
  end
50
50
 
51
51
  def update_host(host_id, host)
52
52
  command = ApiCommand.new(:put, "/api/v0/hosts/#{host_id}", @api_key)
53
53
  command.body = host.to_json
54
- data = command.execute(client)
54
+ command.execute(client)
55
55
  end
56
56
 
57
57
  def update_host_roles(host_id, roles)
58
58
  roles = [roles] if roles.is_a?(String)
59
59
  command = ApiCommand.new(:put, "/api/v0/hosts/#{host_id}/role-fullnames", @api_key)
60
60
  command.body = { "roleFullnames" => roles }.to_json
61
- data = command.execute(client)
61
+ command.execute(client)
62
62
  end
63
63
 
64
64
  def get_host(host_id)
@@ -71,16 +71,16 @@ module Mackerel
71
71
  unless [:standby, :working, :maintenance, :poweroff].include?(status.to_sym)
72
72
  raise "no such status: #{status}"
73
73
  end
74
-
74
+
75
75
  command = ApiCommand.new(:post, "/api/v0/hosts/#{host_id}/status", @api_key)
76
76
  command.body = { "status" => status }.to_json
77
- data = command.execute(client)
77
+ command.execute(client)
78
78
  end
79
79
 
80
80
  def retire_host(host_id)
81
81
  command = ApiCommand.new(:post, "/api/v0/hosts/#{host_id}/retire", @api_key)
82
82
  command.body = { }.to_json
83
- data = command.execute(client)
83
+ command.execute(client)
84
84
  end
85
85
 
86
86
  def get_hosts(opts = {})
@@ -3,17 +3,17 @@ module Mackerel
3
3
  module Invitation
4
4
  def post_invitation(email, authority)
5
5
  command = ApiCommand.new(:post, '/api/v0/invitations', @api_key)
6
- command.body = {
6
+ command.body = {
7
7
  email: email.to_s,
8
8
  authority: authority.to_s
9
9
  }.to_json
10
- data = command.execute(client)
10
+ command.execute(client)
11
11
  end
12
12
 
13
13
  def revoke_invitation(email)
14
14
  command = ApiCommand.new(:post, '/api/v0/invitations/revoke', @api_key)
15
15
  command.body = { email: email.to_s }.to_json
16
- data = command.execute(client)
16
+ command.execute(client)
17
17
  end
18
18
  end
19
19
  end
@@ -3,23 +3,23 @@ module Mackerel
3
3
  module Metadata
4
4
  def get_metadata(host_id, namespace)
5
5
  command = ApiCommand.new(:get, "/api/v0/hosts/#{host_id}/metadata/#{namespace}", @api_key)
6
- data = command.execute(client)
6
+ command.execute(client)
7
7
  end
8
8
 
9
9
  def list_metadata(host_id)
10
10
  command = ApiCommand.new(:get, "/api/v0/hosts/#{host_id}/metadata", @api_key)
11
- data = command.execute(client)
11
+ command.execute(client)
12
12
  end
13
13
 
14
14
  def update_metadata(host_id, namespace, metadata)
15
15
  command = ApiCommand.new(:put, "/api/v0/hosts/#{host_id}/metadata/#{namespace}", @api_key)
16
16
  command.body = metadata.to_json
17
- data = command.execute(client)
17
+ command.execute(client)
18
18
  end
19
19
 
20
20
  def delete_metadata(host_id, namespace)
21
21
  command = ApiCommand.new(:delete, "/api/v0/hosts/#{host_id}/metadata/#{namespace}", @api_key)
22
- data = command.execute(client)
22
+ command.execute(client)
23
23
  end
24
24
  end
25
25
  end
@@ -4,7 +4,7 @@ module Mackerel
4
4
  def post_metrics(metrics)
5
5
  command = ApiCommand.new(:post, '/api/v0/tsdb', @api_key)
6
6
  command.body = metrics.to_json
7
- data = command.execute(client)
7
+ command.execute(client)
8
8
  end
9
9
 
10
10
  def get_host_metrics(host_id, name, from, to)
@@ -27,7 +27,7 @@ module Mackerel
27
27
  def post_service_metrics(service_name, metrics)
28
28
  command = ApiCommand.new(:post, "/api/v0/services/#{service_name}/tsdb", @api_key)
29
29
  command.body = metrics.to_json
30
- data = command.execute(client)
30
+ command.execute(client)
31
31
  end
32
32
 
33
33
  def get_service_metrics(service_name, name, from, to)
@@ -42,7 +42,7 @@ module Mackerel
42
42
  def define_graphs(graph_defs)
43
43
  command = ApiCommand.new(:post, '/api/v0/graph-defs/create', @api_key)
44
44
  command.body = graph_defs.to_json
45
- data = command.execute(client)
45
+ command.execute(client)
46
46
  end
47
47
  end
48
48
  end
@@ -5,7 +5,7 @@ module Mackerel
5
5
  def post_monitoring_check_report(reports)
6
6
  command = ApiCommand.new(:post,'/api/v0/monitoring/checks/report', @api_key)
7
7
  command.body = reports.to_json
8
- data = command.execute(client)
8
+ command.execute(client)
9
9
  end
10
10
 
11
11
  end
@@ -1,3 +1,3 @@
1
1
  module Mackerel
2
- VERSION = "0.4.1"
2
+ VERSION = "0.5.0"
3
3
  end
@@ -8,7 +8,7 @@ Gem::Specification.new do |spec|
8
8
  spec.authors = ["Mackerel developer team"]
9
9
  spec.email = ["developers@mackerel.io"]
10
10
  spec.summary = 'Mackerel client implemented by Ruby.'
11
- spec.description = 'Mackerel client is a library to access Mackerel (https://mackerel.io/). CLI tool `mkr` is also provided.'
11
+ spec.description = 'Mackerel client is a library to access Mackerel (https://mackerel.io/).'
12
12
  spec.homepage = "https://mackerel.io/"
13
13
  spec.license = "Apache 2"
14
14
  spec.files = `git ls-files -z`.split("\x0")
@@ -8,7 +8,7 @@ describe Mackerel::Client do
8
8
 
9
9
  describe 'initialization' do
10
10
  it 'display an error message when api_key is absent' do
11
- expected_message = "API key is absent. Set your API key in a environment variable called MACKEREL_APIKEY."
11
+ expected_message = "API key is absent."
12
12
  expect { Mackerel::Client.new() }.to raise_error(expected_message)
13
13
  end
14
14
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mackerel-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mackerel developer team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-12-01 00:00:00.000000000 Z
11
+ date: 2018-03-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -67,11 +67,9 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '2'
69
69
  description: Mackerel client is a library to access Mackerel (https://mackerel.io/).
70
- CLI tool `mkr` is also provided.
71
70
  email:
72
71
  - developers@mackerel.io
73
- executables:
74
- - mkr.rb
72
+ executables: []
75
73
  extensions: []
76
74
  extra_rdoc_files: []
77
75
  files:
@@ -84,7 +82,6 @@ files:
84
82
  - RELEASE.md
85
83
  - Rakefile
86
84
  - VERSION
87
- - bin/mkr.rb
88
85
  - example/01_invitation.rb
89
86
  - example/02_dashboard.rb
90
87
  - example/03_host.rb
@@ -112,7 +109,6 @@ files:
112
109
  - lib/mackerel/notification_group.rb
113
110
  - lib/mackerel/organization.rb
114
111
  - lib/mackerel/role.rb
115
- - lib/mackerel/runner.rb
116
112
  - lib/mackerel/service.rb
117
113
  - lib/mackerel/user.rb
118
114
  - lib/mackerel/version.rb
@@ -152,7 +148,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
152
148
  version: '0'
153
149
  requirements: []
154
150
  rubyforge_project:
155
- rubygems_version: 2.5.2
151
+ rubygems_version: 2.7.6
156
152
  signing_key:
157
153
  specification_version: 4
158
154
  summary: Mackerel client implemented by Ruby.
data/bin/mkr.rb DELETED
@@ -1,7 +0,0 @@
1
- #! /usr/bin/env ruby
2
-
3
- # mkr(1)
4
-
5
- require 'mackerel'
6
- Mackerel::Runner.execute(ARGV)
7
-
@@ -1,115 +0,0 @@
1
- require 'optparse'
2
- require 'json' unless defined? ::JSON
3
-
4
- module Mackerel
5
-
6
- class Runner
7
- attr_reader :args
8
-
9
- def initialize(args)
10
-
11
- args.unshift 'help' if args.empty?
12
-
13
- @args = args
14
- cmd = args.shift
15
-
16
- if Runner.method_defined?(cmd) and cmd != 'run'
17
- send(cmd, args)
18
- else
19
- puts "Error: `#{cmd}` command not found.\n\n"
20
- send('help', args)
21
- abort
22
- end
23
- end
24
-
25
- # Shortcut
26
- def self.execute(args)
27
- new(args)
28
- end
29
-
30
- def help(args)
31
- puts <<-EOS
32
- #{$0}: Command line interface for Mackerel (https://mackerel.io/).
33
- Get host(s) information from hostname or service, role.
34
- mkr host info [--name foo] [--service service] [--role role]
35
-
36
- Set status of a host
37
- mkr host status --host-id foo --status working
38
-
39
- Retire a host
40
- mkr host retire --host-id foo
41
-
42
- Authentication
43
- API key must be set to the environment variable as follows.
44
- export MACKEREL_APIKEY=foobar
45
-
46
- EOS
47
- end
48
-
49
- # mkr host status --host-id foo
50
- def host(args)
51
- mc = Mackerel::Client.new(:mackerel_api_key => ENV['MACKEREL_APIKEY'])
52
- params = {}
53
- opt = OptionParser.new
54
- opt.on('--host-id HOSTID'){|v| params[:hostid] = v }
55
-
56
- cmd = args.shift
57
- case cmd
58
- when 'status'
59
- opt.on('--status STATUS'){|v| params[:status] = v }
60
- opt.parse!(args)
61
- if params[:status]
62
- begin
63
- res = mc.update_host_status(params[:hostid], params[:status])
64
- puts "Updated to '#{params[:status]}'"
65
- rescue => msg
66
- abort "Error: #{msg}"
67
- end
68
- else
69
- begin
70
- res = mc.get_hosts(:hostid => params[:hostid])[0]
71
- puts "#{res.status}"
72
- rescue => msg
73
- abort "Error: #{msg}"
74
- end
75
-
76
- end
77
-
78
- when 'retire'
79
- opt.parse!(args)
80
- begin
81
- res = mc.retire_host(params[:hostid])
82
- rescue => msg
83
- abort "Error: #{msg}"
84
- end
85
-
86
- when 'info'
87
- opt.on('--service SERVICE'){|v| params[:service] = v }
88
- opt.on('--role ROLE') {|v| params[:roles] = v }
89
- opt.on('--name NAME') {|v| params[:name] = v }
90
- opt.on('--host-id HOSTID') {|v| params[:hostId] = v }
91
- opt.on('--custom-identifier IDENTIFIER') {|v| params[:customIdentifier] = v }
92
- opt.parse!(args)
93
- begin
94
- if params[:hostid]
95
- res = [ mc.get_host(params[:hostId]) ]
96
- else
97
- res = mc.get_hosts(params)
98
- end
99
- rescue => msg
100
- abort "Error: #{msg}"
101
- end
102
- res.each do |res|
103
- puts <<-EOS
104
- name: #{res.name}, status: #{res.status}, id: #{res.id}, roles: #{res.roles}
105
- EOS
106
- end
107
- else
108
- abort "Error: `#{command}` command not found for host."
109
- end
110
- end
111
-
112
- end
113
-
114
- end
115
-