diplomat 2.6.2 → 2.6.4

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
2
  SHA256:
3
- metadata.gz: 602c9e392d4e521d6b749aa0b9cfb46cead8e1a16547c6e62f480e12230bbde5
4
- data.tar.gz: 67fac5cfa5529c346e3a7deb2108dda46aeda3c728b4376b347a34b9781edded
3
+ metadata.gz: a511e72072393dd5a7ae290168917f50e27f13bfa46384ca480840277bd33f22
4
+ data.tar.gz: be98732d7e185789f5d62011d208dbff64088e2634a863d2da3ea9d35f029058
5
5
  SHA512:
6
- metadata.gz: e75b590b288dec5984484dca08ae682459fae2855cad9e09566b9d6f5cff151a53522b698e19542d986a8b1a6682f57f567e353f17d1c8166212d92e19f41a6c
7
- data.tar.gz: 1d0f7b3878d1431a2e45525cd9ac74d11965a051141ef245e4fd884a8848ee8f1bf09ab356daa10914392152f5be7b10c81880ce934f0a6775a8e91e54163870
6
+ metadata.gz: 1ab4b6033d60b9a9930da3736e105980da473cf186e289db808d0eb5d8bc964d2712fec70711c3d918a84968696ea1ea1a51926e0c41aa663971d4e3825988eb
7
+ data.tar.gz: 6df7409db9894e31b74d764354c305a70997eef07053d9369756d1572be004239c3268f8d79842116e5d6e8a962e3c21ef97b6c43bcefdaf9898a38735605ce0
data/README.md CHANGED
@@ -196,6 +196,13 @@ foo_service = Diplomat::Service.get('foo', :all, { :dc => 'My_Datacenter'})
196
196
  # => [#<OpenStruct Node="hotel", Address="1.2.3.4", ServiceID="hotel_foo", ServiceName="foo", ServiceTags=["foo"], ServicePort=5432>,#<OpenStruct Node="indigo", Address="1.2.3.5", ServiceID="indigo_foo", ServiceName="foo", ServiceTags=["foo"], ServicePort=5432>]
197
197
  ```
198
198
 
199
+ Or if you want to filter services
200
+
201
+ ```ruby
202
+ foo_service = Diplomat::Service.get('foo', :all, { :filter => 'ServiceID == "indigo_foo"'})
203
+ # => [#<OpenStruct Node="indigo", Address="1.2.3.5", ServiceID="indigo_foo", ServiceName="foo", ServiceTags=["foo"], ServicePort=5432>]
204
+ ```
205
+
199
206
  If you wish to list all the services on consul:
200
207
 
201
208
  ```ruby
@@ -362,7 +369,7 @@ You also have some convenience method (`any`, `passing`, `warning`, `critical`)
362
369
  That can be filtered
363
370
 
364
371
  ```ruby
365
- Diplomat::Health.critical({:dc => 'abc', :filter => 'Service==foo'})
372
+ Diplomat::Health.critical({:dc => 'abc', :filter => 'ServiceName==foo'})
366
373
  ```
367
374
 
368
375
  ### Maintenance mode
@@ -8,11 +8,12 @@ module Diplomat
8
8
 
9
9
  # Get node health
10
10
  # @param n [String] the node
11
- # @param options [Hash] :dc string for dc specific query
11
+ # @param options [Hash] :dc, :filter string for specific query
12
12
  # @return [OpenStruct] all data associated with the node
13
13
  def node(n, options = {})
14
14
  custom_params = []
15
15
  custom_params << use_named_parameter('dc', options[:dc]) if options[:dc]
16
+ custom_params << use_named_parameter('filter', options[:filter]) if options[:filter]
16
17
 
17
18
  ret = send_get_request(@conn, ["/v1/health/node/#{n}"], options, custom_params)
18
19
  JSON.parse(ret.body).map { |node| OpenStruct.new node }
@@ -20,11 +21,12 @@ module Diplomat
20
21
 
21
22
  # Get service checks
22
23
  # @param s [String] the service
23
- # @param options [Hash] :dc string for dc specific query
24
+ # @param options [Hash] :dc, :filter string for specific query
24
25
  # @return [OpenStruct] all data associated with the node
25
26
  def checks(s, options = {})
26
27
  custom_params = []
27
28
  custom_params << use_named_parameter('dc', options[:dc]) if options[:dc]
29
+ custom_params << use_named_parameter('filter', options[:filter]) if options[:filter]
28
30
 
29
31
  ret = send_get_request(@conn, ["/v1/health/checks/#{s}"], options, custom_params)
30
32
  JSON.parse(ret.body).map { |check| OpenStruct.new check }
@@ -44,6 +46,7 @@ module Diplomat
44
46
  custom_params << use_named_parameter('near', options[:near]) if options[:near]
45
47
  custom_params << use_named_parameter('node-meta', options[:node_meta]) if options[:node_meta]
46
48
  custom_params << use_named_parameter('index', options[:index]) if options[:index]
49
+ custom_params << use_named_parameter('filter', options[:filter]) if options[:filter]
47
50
 
48
51
  ret = send_get_request(@conn, ["/v1/health/service/#{s}"], options, custom_params)
49
52
  if meta && ret.headers
@@ -17,6 +17,7 @@ module Diplomat
17
17
  custom_params << use_named_parameter('wait', options[:wait]) if options[:wait]
18
18
  custom_params << use_named_parameter('index', options[:index]) if options[:index]
19
19
  custom_params << use_named_parameter('dc', options[:dc]) if options[:dc]
20
+ custom_params << use_named_parameter('filter', options[:filter]) if options[:filter]
20
21
  custom_params += [*options[:tag]].map { |value| use_named_parameter('tag', value) } if options[:tag]
21
22
 
22
23
  ret = send_get_request(@conn, ["/v1/catalog/service/#{key}"], options, custom_params)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Diplomat
4
- VERSION = '2.6.2'
4
+ VERSION = '2.6.4'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: diplomat
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.6.2
4
+ version: 2.6.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Hamelink
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2022-02-11 00:00:00.000000000 Z
13
+ date: 2022-08-22 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bundler
@@ -187,9 +187,12 @@ dependencies:
187
187
  - - ">="
188
188
  - !ruby/object:Gem::Version
189
189
  version: '0.9'
190
+ - - "!="
191
+ - !ruby/object:Gem::Version
192
+ version: 2.0.0
190
193
  - - "<"
191
194
  - !ruby/object:Gem::Version
192
- version: '2.0'
195
+ version: '3.0'
193
196
  type: :runtime
194
197
  prerelease: false
195
198
  version_requirements: !ruby/object:Gem::Requirement
@@ -197,9 +200,12 @@ dependencies:
197
200
  - - ">="
198
201
  - !ruby/object:Gem::Version
199
202
  version: '0.9'
203
+ - - "!="
204
+ - !ruby/object:Gem::Version
205
+ version: 2.0.0
200
206
  - - "<"
201
207
  - !ruby/object:Gem::Version
202
- version: '2.0'
208
+ version: '3.0'
203
209
  description: Diplomat is a simple wrapper for Consul
204
210
  email:
205
211
  - john@johnhamelink.com