bixby-client 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 72daf8d74d021a0b3c397c5fa8ea3c01fe43e14d
4
- data.tar.gz: a5cbd3599ca0c9e3f6dbec98cf8daf2f7f382f85
3
+ metadata.gz: 612e1c186d5b8d826adf4c9cb55bc4bc177f60ca
4
+ data.tar.gz: 2f4a93cdfd9cec51393e0cfae0971e14561aa549
5
5
  SHA512:
6
- metadata.gz: ff267307702818c6a7b9f6969553d27b6b50e905eb8230ad5dd8c693ee90e6daaac975c71978fab0f9475430b4e9d320a32549bab74a53c895efc0ad5c679469
7
- data.tar.gz: 09cff927b2e1e93dca72a0e3488873779c90fa192a5823a5023f512649fd09a07cb6630da52758b91be530aa73279cbc3c8ce68b3cfa894c9a5fabd672ecc06a
6
+ metadata.gz: 8cf630d2fe55a757490fe7800747ff521dae0359182f6ee6e055d2cc4c9c03aecdf9ae79923ccd6babfb17bc69359ab680bf280327de62327c8309be8505b319
7
+ data.tar.gz: 0b4d499a4ba0907471ba57b04a6eed2bd11124ce41d2df265447ec2c6747caaf8ee337e95733c870cf83a7e1b2e3fc0066d18bc29d7e280089e5c2e2fec202f9
data/.travis.yml CHANGED
@@ -1,9 +1,12 @@
1
- language: ruby
1
+ before_install:
2
+ - "curl -sL https://s3.bixby.io/wad > ~/wad"
3
+ - "chmod +x ~/wad"
4
+ install:
5
+ - "~/wad"
2
6
  script: "bundle exec micron test/"
3
- after_script:
4
- - "rake coverage"
5
- - "rake coveralls"
7
+ after_script: "rake coveralls"
6
8
 
9
+ language: ruby
7
10
  rvm:
8
11
  - 2.0.0
9
12
  - 1.9.3
@@ -11,3 +14,9 @@ rvm:
11
14
  branches:
12
15
  only:
13
16
  - master
17
+
18
+ env:
19
+ global:
20
+ - S3_REGION="us-east-1"
21
+ - S3_BUCKET_NAME="io.bixby.gemcache.wad.client"
22
+ - secure: d9Apjk8ofbfVRmfhFiifnMRQ8HRRX8rusJyqTjs8AbTYK0gHJmmSwGT/GSuBoP8a9IQ0vSjWVNgO9tY94syQnoBMXj+y4SxkunNWYxW8CTBOuOGJUup8tIy7JS0SenSY+kGFtKRH/vqbZs2AMd/iiybQ1osjHKvVEbNf9x9JdKY=
data/Gemfile CHANGED
@@ -23,13 +23,6 @@ group :development do
23
23
  gem "debugger", :platforms => [:mri_19, :mri_20]
24
24
  gem "debugger-pry", :require => "debugger/pry", :platforms => [:mri_19, :mri_20]
25
25
 
26
- gem "simplecov", :platforms => [:mri_19, :mri_20, :rbx], :git => "https://github.com/chetan/simplecov.git", :branch => "inline_nocov"
27
- gem "micron", :github => "chetan/micron"
28
- gem "coveralls", :require => false
29
-
30
- gem "webmock", :require => false
31
- gem "mocha", :require => false
32
-
33
26
  gem "test_guard", :git => "https://github.com/chetan/test_guard.git"
34
27
  gem 'rb-inotify', :require => false
35
28
  gem 'rb-fsevent', :require => false
@@ -37,3 +30,11 @@ group :development do
37
30
 
38
31
  end
39
32
 
33
+ group :test do
34
+ gem "simplecov", :platforms => [:mri_19, :mri_20, :rbx], :git => "https://github.com/chetan/simplecov.git", :branch => "inline_nocov"
35
+ gem "micron", :github => "chetan/micron"
36
+ gem "coveralls", :require => false
37
+
38
+ gem "webmock", :require => false
39
+ gem "mocha", :require => false
40
+ end
data/Gemfile.lock CHANGED
@@ -1,15 +1,15 @@
1
1
  GIT
2
2
  remote: git://github.com/chetan/micron.git
3
- revision: 95399129ce8908484ed92a0de3a7e0ce83d99d2b
3
+ revision: 9bc1ad8ff5eed579c8f13a7615e8fbc78dbfebd4
4
4
  specs:
5
- micron (0.1.0)
6
- colorize
5
+ micron (0.5.0)
6
+ ansi
7
7
  easycov
8
8
  hitimes
9
9
 
10
10
  GIT
11
11
  remote: https://github.com/chetan/api_auth.git
12
- revision: 86a79ca157402bd1c12d683a6b9948564b493443
12
+ revision: 2440c3a1d23b95977185ce25210c86cbeded7cee
13
13
  branch: bixby
14
14
  specs:
15
15
  api-auth (1.0.3)
@@ -40,7 +40,7 @@ GIT
40
40
 
41
41
  GIT
42
42
  remote: https://github.com/chetan/test_guard.git
43
- revision: 6e184096f7713cefe6eab3d250b18d214e09a1ca
43
+ revision: a2a450c57a77f38d196f23206da03f491ddbca62
44
44
  specs:
45
45
  test_guard (0.2.1)
46
46
  awesome_print
@@ -54,8 +54,9 @@ GEM
54
54
  remote: https://rubygems.org/
55
55
  specs:
56
56
  addressable (2.3.5)
57
+ ansi (1.4.3)
57
58
  awesome_print (1.2.0)
58
- bixby-common (0.4.6)
59
+ bixby-common (0.4.8)
59
60
  api-auth
60
61
  faye-websocket
61
62
  httpi
@@ -65,7 +66,7 @@ GEM
65
66
  builder (3.2.2)
66
67
  celluloid (0.15.2)
67
68
  timers (~> 1.1.0)
68
- coderay (1.0.9)
69
+ coderay (1.1.0)
69
70
  colorize (0.6.0)
70
71
  columnize (0.3.6)
71
72
  coveralls (0.7.0)
@@ -86,7 +87,7 @@ GEM
86
87
  debugger (~> 1)
87
88
  pry (>= 0.9.9)
88
89
  debugger-ruby_core_source (1.2.3)
89
- easycov (0.3.1)
90
+ easycov (0.4.0)
90
91
  multi_json
91
92
  simplecov
92
93
  simplecov-console
@@ -97,7 +98,7 @@ GEM
97
98
  faye-websocket (0.7.0)
98
99
  eventmachine (>= 0.12.0)
99
100
  websocket-driver (>= 0.3.0)
100
- ffi (1.9.0)
101
+ ffi (1.9.3)
101
102
  fuzzy_file_finder (1.0.4)
102
103
  git (1.2.6)
103
104
  github_api (0.10.1)
@@ -109,18 +110,18 @@ GEM
109
110
  oauth2
110
111
  growl (1.0.3)
111
112
  hashie (2.0.5)
112
- highline (1.6.19)
113
+ highline (1.6.20)
113
114
  hirb (0.7.1)
114
115
  hitimes (1.2.1)
115
116
  httpauth (0.2.0)
116
117
  httpi (2.1.0)
117
118
  rack
118
119
  rubyntlm (~> 0.3.2)
119
- json (1.8.0)
120
+ json (1.8.1)
120
121
  jwt (0.1.8)
121
122
  multi_json (>= 1.5)
122
- listen (2.0.0)
123
- celluloid (>= 0.15.1)
123
+ listen (2.2.0)
124
+ celluloid (>= 0.15.2)
124
125
  rb-fsevent (>= 0.9.3)
125
126
  rb-inotify (>= 0.9)
126
127
  little-plugger (1.1.3)
@@ -129,11 +130,11 @@ GEM
129
130
  multi_json (>= 1.3.6)
130
131
  metaclass (0.0.1)
131
132
  method_source (0.8.2)
132
- mime-types (1.25)
133
+ mime-types (2.0)
133
134
  mixlib-shellout (1.2.0)
134
135
  mocha (0.14.0)
135
136
  metaclass (~> 0.0.1)
136
- multi_json (1.8.1)
137
+ multi_json (1.8.2)
137
138
  multi_xml (0.5.5)
138
139
  multipart-post (1.2.0)
139
140
  nokogiri (1.5.10)
@@ -144,9 +145,9 @@ GEM
144
145
  multi_json (~> 1.0)
145
146
  multi_xml (~> 0.5)
146
147
  rack (~> 1.2)
147
- oj (2.1.6)
148
- pry (0.9.12.2)
149
- coderay (~> 1.0.5)
148
+ oj (2.2.2)
149
+ pry (0.9.12.3)
150
+ coderay (~> 1.0)
150
151
  method_source (~> 0.8)
151
152
  slop (~> 3.4)
152
153
  rack (1.5.2)
@@ -169,17 +170,17 @@ GEM
169
170
  hirb
170
171
  simplecov
171
172
  simplecov-html (0.7.1)
172
- slop (3.4.6)
173
+ slop (3.4.7)
173
174
  term-ansicolor (1.2.2)
174
175
  tins (~> 0.8)
175
176
  thor (0.18.1)
176
177
  timers (1.1.0)
177
- tins (0.11.0)
178
- webmock (1.14.0)
178
+ tins (0.13.1)
179
+ webmock (1.16.0)
179
180
  addressable (>= 2.2.7)
180
181
  crack (>= 0.3.2)
181
182
  websocket-driver (0.3.0)
182
- yard (0.8.7.2)
183
+ yard (0.8.7.3)
183
184
 
184
185
  PLATFORMS
185
186
  ruby
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.0
1
+ 0.4.0
data/bixby-client.gemspec CHANGED
@@ -2,15 +2,15 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: bixby-client 0.3.0 ruby lib
5
+ # stub: bixby-client 0.4.0 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "bixby-client"
9
- s.version = "0.3.0"
9
+ s.version = "0.4.0"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.authors = ["Chetan Sarva"]
13
- s.date = "2013-10-30"
13
+ s.date = "2013-11-19"
14
14
  s.description = "Bixby Client"
15
15
  s.email = "chetan@pixelcop.net"
16
16
  s.executables = ["bixby"]
@@ -47,6 +47,7 @@ Gem::Specification.new do |s|
47
47
  "lib/bixby-client/modules.rb",
48
48
  "lib/bixby-client/modules/inventory.rb",
49
49
  "lib/bixby-client/modules/metrics.rb",
50
+ "lib/bixby-client/modules/monitoring.rb",
50
51
  "lib/bixby-client/modules/repository.rb",
51
52
  "lib/bixby-client/patch/shellout.rb",
52
53
  "lib/bixby-client/platform_util.rb",
@@ -99,11 +100,6 @@ Gem::Specification.new do |s|
99
100
  s.add_development_dependency(%q<pry>, [">= 0"])
100
101
  s.add_development_dependency(%q<debugger>, [">= 0"])
101
102
  s.add_development_dependency(%q<debugger-pry>, [">= 0"])
102
- s.add_development_dependency(%q<simplecov>, [">= 0"])
103
- s.add_development_dependency(%q<micron>, [">= 0"])
104
- s.add_development_dependency(%q<coveralls>, [">= 0"])
105
- s.add_development_dependency(%q<webmock>, [">= 0"])
106
- s.add_development_dependency(%q<mocha>, [">= 0"])
107
103
  s.add_development_dependency(%q<test_guard>, [">= 0"])
108
104
  s.add_development_dependency(%q<rb-inotify>, [">= 0"])
109
105
  s.add_development_dependency(%q<rb-fsevent>, [">= 0"])
@@ -124,11 +120,6 @@ Gem::Specification.new do |s|
124
120
  s.add_dependency(%q<pry>, [">= 0"])
125
121
  s.add_dependency(%q<debugger>, [">= 0"])
126
122
  s.add_dependency(%q<debugger-pry>, [">= 0"])
127
- s.add_dependency(%q<simplecov>, [">= 0"])
128
- s.add_dependency(%q<micron>, [">= 0"])
129
- s.add_dependency(%q<coveralls>, [">= 0"])
130
- s.add_dependency(%q<webmock>, [">= 0"])
131
- s.add_dependency(%q<mocha>, [">= 0"])
132
123
  s.add_dependency(%q<test_guard>, [">= 0"])
133
124
  s.add_dependency(%q<rb-inotify>, [">= 0"])
134
125
  s.add_dependency(%q<rb-fsevent>, [">= 0"])
@@ -150,11 +141,6 @@ Gem::Specification.new do |s|
150
141
  s.add_dependency(%q<pry>, [">= 0"])
151
142
  s.add_dependency(%q<debugger>, [">= 0"])
152
143
  s.add_dependency(%q<debugger-pry>, [">= 0"])
153
- s.add_dependency(%q<simplecov>, [">= 0"])
154
- s.add_dependency(%q<micron>, [">= 0"])
155
- s.add_dependency(%q<coveralls>, [">= 0"])
156
- s.add_dependency(%q<webmock>, [">= 0"])
157
- s.add_dependency(%q<mocha>, [">= 0"])
158
144
  s.add_dependency(%q<test_guard>, [">= 0"])
159
145
  s.add_dependency(%q<rb-inotify>, [">= 0"])
160
146
  s.add_dependency(%q<rb-fsevent>, [">= 0"])
@@ -34,8 +34,17 @@ module Bixby
34
34
 
35
35
  # Setup the ENV for exec
36
36
  def setup_env
37
+ # use the correct ruby bin
38
+ path = ENV["PATH"].dup
39
+ ruby_dir = RbConfig::CONFIG['bindir']
40
+ if !path.include? ruby_dir then
41
+ ENV["PATH"] = "#{ruby_dir}:#{path}"
42
+ end
43
+
37
44
  # stick ourselves in RUBYLIB to speedup exec time
38
45
  ENV["RUBYLIB"] = File.expand_path("../../../..", __FILE__)
46
+
47
+ # load helper script
39
48
  ENV["RUBYOPT"] = '-rbixby-client/script'
40
49
  end
41
50
 
@@ -5,10 +5,36 @@ module Bixby
5
5
 
6
6
  class << self
7
7
 
8
+
9
+ # Public API methods
10
+
11
+ def list(*args)
12
+ raise NotImplementedError
13
+ end
14
+
15
+ def find(id)
16
+ raise NotImplementedError
17
+ end
18
+
19
+ def update(id, data)
20
+ raise NotImplementedError
21
+ end
22
+
23
+ def destroy(id)
24
+ raise NotImplementedError
25
+ end
26
+
27
+
28
+
29
+ private
30
+
31
+ # Get the object at the given URL
32
+ #
33
+ # @param [String] url
34
+ #
35
+ # @return [Object] single object or an array of objects
8
36
  def get(url)
9
- req = HTTPI::Request.new(api_uri(url))
10
- req.headers["Content-Type"] = "application/json"
11
- req.headers["Accept"] = "application/json" # temp workaround, manager should always return JSON on REST urls
37
+ req = create_req(url)
12
38
  Bixby.client.sign_http_request(req)
13
39
  res = HTTPI.get(req)
14
40
  if res.error? then
@@ -19,17 +45,68 @@ module Bixby
19
45
  if data.kind_of? Array then
20
46
  return data.map{ |d| self.new(d) }
21
47
  else
22
- return self.new(d)
48
+ return self.new(data)
49
+ end
50
+ end
51
+
52
+ # Put some data at the given URL (update an object)
53
+ #
54
+ # @param [String] url
55
+ # @param [Hash] data to update
56
+ #
57
+ # @return [Boolean]
58
+ def put(url, data)
59
+ req = create_req(url)
60
+ req.body = MultiJson.dump(data)
61
+ Bixby.client.sign_http_request(req)
62
+ res = HTTPI.put(req)
63
+ if res.error? then
64
+ raise "error" # TODO
65
+ end
66
+ true
67
+ end
68
+ alias_method :patch, :put
69
+
70
+ # Delete the resource at the given URL
71
+ #
72
+ # @param [String] url
73
+ #
74
+ # @return [Boolean]
75
+ def delete(url)
76
+ req = create_req(url)
77
+ Bixby.client.sign_http_request(req)
78
+ res = HTTPI.delete(req)
79
+ if res.error? then
80
+ raise "error" # TODO
23
81
  end
82
+ puts res.body
83
+ true
24
84
  end
25
85
 
86
+ # Create a fully qualified API URL
87
+ #
88
+ # @param [String] path or a list of paths
89
+ #
90
+ # @return [String] API URL
26
91
  def api_uri(*args)
27
92
  if args.first !~ %r{^/rest/} then
28
- args.unshift "/rest#{args.shift}"
93
+ args.unshift File.join("/rest", args.shift) # prepend /rest
29
94
  end
30
95
  URI.join(Bixby.client.manager_uri, *args).to_s
31
96
  end
32
97
 
98
+ # Create a REST request
99
+ #
100
+ # @param [String] url
101
+ #
102
+ # @return [HTTPI::Request]
103
+ def create_req(url)
104
+ req = HTTPI::Request.new(api_uri(url))
105
+ req.headers["Content-Type"] = "application/json"
106
+ req.headers["Accept"] = "application/json" # temp workaround, manager should always return JSON on REST urls
107
+ req
108
+ end
109
+
33
110
  end # self
34
111
 
35
112
  def initialize(hash=nil)
@@ -45,14 +122,13 @@ module Bixby
45
122
  EOF
46
123
  eval(code)
47
124
  end
125
+ end
48
126
 
49
- def [](key)
50
- if self.respond_to?(key.to_sym) then
51
- return self.send(key.to_sym)
52
- end
53
- return nil
127
+ def [](key)
128
+ if self.respond_to?(key.to_sym) then
129
+ return self.send(key.to_sym)
54
130
  end
55
-
131
+ return nil
56
132
  end
57
133
 
58
134
  end
@@ -9,6 +9,15 @@ module Bixby
9
9
  end
10
10
 
11
11
  def self.find(id)
12
+ get("/checks/#{id}")
13
+ end
14
+
15
+ def self.update(id, data)
16
+ put("/checks/#{id}", data)
17
+ end
18
+
19
+ def self.destroy(id)
20
+ delete("/checks/#{id}")
12
21
  end
13
22
 
14
23
  end
@@ -9,6 +9,15 @@ module Bixby
9
9
  end
10
10
 
11
11
  def self.find(id)
12
+ get("/hosts/#{id}")
13
+ end
14
+
15
+ def self.update(id, data)
16
+ put("/hosts/#{id}", data)
17
+ end
18
+
19
+ def save
20
+ # TODO
12
21
  end
13
22
 
14
23
  end
@@ -0,0 +1,20 @@
1
+
2
+ module Bixby
3
+ module Monitoring
4
+
5
+ # Update the check configuration for the specified Agent and restart the
6
+ # monitoring daemon.
7
+ #
8
+ # @param [Agent] agent
9
+ #
10
+ # @return [CommandResponse]
11
+ def self.update_check_config(agent)
12
+ if agent.kind_of? Bixby::Model::Agent then
13
+ agent = agent.id
14
+ end
15
+ req = JsonRequest.new("monitoring:update_check_config", [ agent ])
16
+ return Bixby.client.exec_api(req)
17
+ end
18
+
19
+ end # Monitoring
20
+ end # Bixby
@@ -32,5 +32,56 @@ module Bixby
32
32
  end
33
33
 
34
34
 
35
+ # Download the given list of files
36
+ #
37
+ # @param [CommandSpec] cmd CommandSpec representing the Bundle to which the files belong
38
+ # @param [Hash] files Hash, returned from #list_files
39
+ #
40
+ # @deprecated Use {#list_files} and {#fetch_file} respectively
41
+ def self.download_files(cmd, files)
42
+ return if files.nil? or files.empty?
43
+
44
+ local_path = cmd.bundle_dir
45
+ digest = cmd.load_digest
46
+ files.each do |f|
47
+
48
+ fetch = true
49
+ if not digest then
50
+ fetch = true
51
+ elsif df = digest["files"].find{ |h| h["file"] == f["file"] } then
52
+ # compare digest w/ stored one if we have it
53
+ fetch = (df["digest"] != f["digest"])
54
+ else
55
+ fetch = true
56
+ end
57
+
58
+ if not fetch then
59
+ debug { "skipping: #{f}" }
60
+ next
61
+ end
62
+
63
+ debug { "fetching: #{f}"}
64
+
65
+ params = cmd.to_hash
66
+ params.delete(:digest)
67
+
68
+ filename = File.join(local_path, f['file'])
69
+ path = File.dirname(filename)
70
+ if not File.exist? path then
71
+ FileUtils.mkdir_p(path)
72
+ end
73
+
74
+ req = JsonRequest.new("provisioning:fetch_file", [ params, f['file'] ])
75
+ Bixby.client.exec_api_download(req, filename)
76
+ if f['file'] =~ /^bin/ then
77
+ # correct permissions for executables
78
+ FileUtils.chmod(0755, filename)
79
+ end
80
+ end # files.each
81
+
82
+ cmd.update_digest
83
+ end
84
+
85
+
35
86
  end
36
87
  end
@@ -1,4 +1,5 @@
1
1
 
2
2
  require "bixby-client/modules/inventory"
3
3
  require "bixby-client/modules/metrics"
4
+ require "bixby-client/modules/monitoring"
4
5
  require "bixby-client/modules/repository"
data/test/helper.rb CHANGED
@@ -8,7 +8,6 @@ rescue Bundler::BundlerError => e
8
8
  exit e.status_code
9
9
  end
10
10
 
11
- require "awesome_print"
12
11
  require "micron"
13
12
  require "micron/minitest"
14
13
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bixby-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chetan Sarva
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-30 00:00:00.000000000 Z
11
+ date: 2013-11-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bixby-common
@@ -220,76 +220,6 @@ dependencies:
220
220
  - - '>='
221
221
  - !ruby/object:Gem::Version
222
222
  version: '0'
223
- - !ruby/object:Gem::Dependency
224
- name: simplecov
225
- requirement: !ruby/object:Gem::Requirement
226
- requirements:
227
- - - '>='
228
- - !ruby/object:Gem::Version
229
- version: '0'
230
- type: :development
231
- prerelease: false
232
- version_requirements: !ruby/object:Gem::Requirement
233
- requirements:
234
- - - '>='
235
- - !ruby/object:Gem::Version
236
- version: '0'
237
- - !ruby/object:Gem::Dependency
238
- name: micron
239
- requirement: !ruby/object:Gem::Requirement
240
- requirements:
241
- - - '>='
242
- - !ruby/object:Gem::Version
243
- version: '0'
244
- type: :development
245
- prerelease: false
246
- version_requirements: !ruby/object:Gem::Requirement
247
- requirements:
248
- - - '>='
249
- - !ruby/object:Gem::Version
250
- version: '0'
251
- - !ruby/object:Gem::Dependency
252
- name: coveralls
253
- requirement: !ruby/object:Gem::Requirement
254
- requirements:
255
- - - '>='
256
- - !ruby/object:Gem::Version
257
- version: '0'
258
- type: :development
259
- prerelease: false
260
- version_requirements: !ruby/object:Gem::Requirement
261
- requirements:
262
- - - '>='
263
- - !ruby/object:Gem::Version
264
- version: '0'
265
- - !ruby/object:Gem::Dependency
266
- name: webmock
267
- requirement: !ruby/object:Gem::Requirement
268
- requirements:
269
- - - '>='
270
- - !ruby/object:Gem::Version
271
- version: '0'
272
- type: :development
273
- prerelease: false
274
- version_requirements: !ruby/object:Gem::Requirement
275
- requirements:
276
- - - '>='
277
- - !ruby/object:Gem::Version
278
- version: '0'
279
- - !ruby/object:Gem::Dependency
280
- name: mocha
281
- requirement: !ruby/object:Gem::Requirement
282
- requirements:
283
- - - '>='
284
- - !ruby/object:Gem::Version
285
- version: '0'
286
- type: :development
287
- prerelease: false
288
- version_requirements: !ruby/object:Gem::Requirement
289
- requirements:
290
- - - '>='
291
- - !ruby/object:Gem::Version
292
- version: '0'
293
223
  - !ruby/object:Gem::Dependency
294
224
  name: test_guard
295
225
  requirement: !ruby/object:Gem::Requirement
@@ -383,6 +313,7 @@ files:
383
313
  - lib/bixby-client/modules.rb
384
314
  - lib/bixby-client/modules/inventory.rb
385
315
  - lib/bixby-client/modules/metrics.rb
316
+ - lib/bixby-client/modules/monitoring.rb
386
317
  - lib/bixby-client/modules/repository.rb
387
318
  - lib/bixby-client/patch/shellout.rb
388
319
  - lib/bixby-client/platform_util.rb