diplomat 2.6.4 → 2.6.5

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: 526878104b09fabb0aac9c64db3983485630855a429ee3283611bec330ae0f10
4
+ data.tar.gz: 81e7b2dab98f792a50438d86666393890ab3f44ff2b52669ab06487d108edd81
5
5
  SHA512:
6
- metadata.gz: 1ab4b6033d60b9a9930da3736e105980da473cf186e289db808d0eb5d8bc964d2712fec70711c3d918a84968696ea1ea1a51926e0c41aa663971d4e3825988eb
7
- data.tar.gz: 6df7409db9894e31b74d764354c305a70997eef07053d9369756d1572be004239c3268f8d79842116e5d6e8a962e3c21ef97b6c43bcefdaf9898a38735605ce0
6
+ metadata.gz: bef9779ba03b2fd79cfcd64a6eb00e7296408bf9810acb1a205d62e2b0c14f8cf350f0c19fd33ef1d9e782e82d014fad9ac270e7bf860ba5cb77f4427e2af9b1
7
+ data.tar.gz: cae668418109f22ac81fdb15f121eb657e37dfee4db75f2429034c7b0dbde6253691eebcbe72947523099d4f0d5f91c4a70b50eab4c0758bb25e766f3143bb08
@@ -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.5'
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.5
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: 2025-05-17 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
@@ -238,6 +238,7 @@ files:
238
238
  - lib/diplomat/nodes.rb
239
239
  - lib/diplomat/policy.rb
240
240
  - lib/diplomat/query.rb
241
+ - lib/diplomat/raft.rb
241
242
  - lib/diplomat/rest_client.rb
242
243
  - lib/diplomat/role.rb
243
244
  - lib/diplomat/service.rb
@@ -249,7 +250,7 @@ homepage: https://github.com/WeAreFarmGeek/diplomat
249
250
  licenses:
250
251
  - BSD-3-Clause
251
252
  metadata: {}
252
- post_install_message:
253
+ post_install_message:
253
254
  rdoc_options: []
254
255
  require_paths:
255
256
  - lib
@@ -264,8 +265,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
264
265
  - !ruby/object:Gem::Version
265
266
  version: '0'
266
267
  requirements: []
267
- rubygems_version: 3.1.6
268
- signing_key:
268
+ rubygems_version: 3.4.19
269
+ signing_key:
269
270
  specification_version: 4
270
271
  summary: Diplomat is a simple wrapper for Consul
271
272
  test_files: []