diplomat 2.6.4 → 2.6.6

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: a511e72072393dd5a7ae290168917f50e27f13bfa46384ca480840277bd33f22
4
- data.tar.gz: be98732d7e185789f5d62011d208dbff64088e2634a863d2da3ea9d35f029058
3
+ metadata.gz: fcc6d66422547401a9dff8ea4d840eb6acb8bdee912ac9918d8e061ba01e9a14
4
+ data.tar.gz: 986e9562b3d2151c80944e8913d2bb67a9eee3eced7bd90aeb9b741b8fe69820
5
5
  SHA512:
6
- metadata.gz: 1ab4b6033d60b9a9930da3736e105980da473cf186e289db808d0eb5d8bc964d2712fec70711c3d918a84968696ea1ea1a51926e0c41aa663971d4e3825988eb
7
- data.tar.gz: 6df7409db9894e31b74d764354c305a70997eef07053d9369756d1572be004239c3268f8d79842116e5d6e8a962e3c21ef97b6c43bcefdaf9898a38735605ce0
6
+ metadata.gz: 61c2e8094811ba7802c03f3d0d49f09c8725cf285b9e020fa29cf8f55212cf83ad7766f3ed1fba90ea1f3e08d4188dcf50f93a0048fbc2022391bf4216881d71
7
+ data.tar.gz: fa3c8baaa057d33af7c385bf002e59c3b2a3c3fdf3bd1389f244fa82cc7aa2764ea6f8463a4baa1915e7e10aa56962fde696a6f77f73b33132d3f217beec44e8
@@ -2,6 +2,7 @@
2
2
 
3
3
  require 'base64'
4
4
  require 'faraday'
5
+ require 'ostruct'
5
6
 
6
7
  module Diplomat
7
8
  # Agent API endpoint methods
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Diplomat
4
+ # Methods for interacting with the Consul operator raft API endpoint
5
+ class RaftOperator < Diplomat::RestClient
6
+ @access_methods = %i[get_configuration transfer_leader]
7
+
8
+ # Get raft configuration
9
+ # @param options [Hash] options parameter hash
10
+ # @return [OpenStruct] all data associated with the raft configuration
11
+ def get_configuration(options = {})
12
+ custom_params = []
13
+ custom_params << use_named_parameter('dc', options[:dc]) if options[:dc]
14
+
15
+ ret = send_get_request(@conn, ['/v1/operator/raft/configuration'], options, custom_params)
16
+ JSON.parse(ret.body)
17
+ end
18
+
19
+ # Transfer raft leadership
20
+ # @param options [Hash] options parameter hash
21
+ # @return [OpenStruct] all data associated with the transfer status
22
+ # with format {"Success": ["true"|"false"]}
23
+ def transfer_leader(options = {})
24
+ custom_params = options[:id] ? use_named_parameter('id', options[:id]) : nil
25
+ @raw = send_post_request(@conn, ['/v1/operator/raft/transfer-leader'], options, nil, custom_params)
26
+ JSON.parse(@raw.body)
27
+ end
28
+ end
29
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Diplomat
4
- VERSION = '2.6.4'
4
+ VERSION = '2.6.6'
5
5
  end
data/lib/diplomat.rb CHANGED
@@ -31,7 +31,7 @@ module Diplomat
31
31
  require_libs 'configuration', 'rest_client', 'kv', 'datacenter', 'service',
32
32
  'members', 'node', 'nodes', 'check', 'health', 'session', 'lock',
33
33
  'error', 'event', 'acl', 'maintenance', 'query', 'agent', 'status',
34
- 'policy', 'token', 'role', 'autopilot'
34
+ 'policy', 'token', 'role', 'autopilot', 'raft'
35
35
  self.configuration ||= Diplomat::Configuration.new
36
36
 
37
37
  class << self
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: diplomat
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.6.4
4
+ version: 2.6.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Hamelink
8
8
  - Trevor Wood
9
9
  - Pierre Souchay
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2022-08-22 00:00:00.000000000 Z
13
+ date: 2026-03-08 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bundler
@@ -130,14 +130,14 @@ dependencies:
130
130
  requirements:
131
131
  - - "~>"
132
132
  - !ruby/object:Gem::Version
133
- version: 0.93.1
133
+ version: 1.75.5
134
134
  type: :development
135
135
  prerelease: false
136
136
  version_requirements: !ruby/object:Gem::Requirement
137
137
  requirements:
138
138
  - - "~>"
139
139
  - !ruby/object:Gem::Version
140
- version: 0.93.1
140
+ version: 1.75.5
141
141
  - !ruby/object:Gem::Dependency
142
142
  name: simplecov
143
143
  requirement: !ruby/object:Gem::Requirement
@@ -180,6 +180,20 @@ dependencies:
180
180
  - - "~>"
181
181
  - !ruby/object:Gem::Version
182
182
  version: '1.2'
183
+ - !ruby/object:Gem::Dependency
184
+ name: ostruct
185
+ requirement: !ruby/object:Gem::Requirement
186
+ requirements:
187
+ - - ">="
188
+ - !ruby/object:Gem::Version
189
+ version: '0'
190
+ type: :runtime
191
+ prerelease: false
192
+ version_requirements: !ruby/object:Gem::Requirement
193
+ requirements:
194
+ - - ">="
195
+ - !ruby/object:Gem::Version
196
+ version: '0'
183
197
  - !ruby/object:Gem::Dependency
184
198
  name: faraday
185
199
  requirement: !ruby/object:Gem::Requirement
@@ -238,6 +252,7 @@ files:
238
252
  - lib/diplomat/nodes.rb
239
253
  - lib/diplomat/policy.rb
240
254
  - lib/diplomat/query.rb
255
+ - lib/diplomat/raft.rb
241
256
  - lib/diplomat/rest_client.rb
242
257
  - lib/diplomat/role.rb
243
258
  - lib/diplomat/service.rb
@@ -249,7 +264,7 @@ homepage: https://github.com/WeAreFarmGeek/diplomat
249
264
  licenses:
250
265
  - BSD-3-Clause
251
266
  metadata: {}
252
- post_install_message:
267
+ post_install_message:
253
268
  rdoc_options: []
254
269
  require_paths:
255
270
  - lib
@@ -264,8 +279,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
264
279
  - !ruby/object:Gem::Version
265
280
  version: '0'
266
281
  requirements: []
267
- rubygems_version: 3.1.6
268
- signing_key:
282
+ rubygems_version: 3.4.19
283
+ signing_key:
269
284
  specification_version: 4
270
285
  summary: Diplomat is a simple wrapper for Consul
271
286
  test_files: []