strongdm 6.2.1 → 6.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.git/ORIG_HEAD +1 -1
- data/.git/index +0 -0
- data/.git/logs/HEAD +3 -3
- data/.git/logs/refs/heads/master +2 -2
- data/.git/logs/refs/remotes/origin/HEAD +1 -1
- data/.git/objects/pack/{pack-9c15c03926d0fe38935c66657f11971674d15cb4.idx → pack-937ee306e3b4fe54045c0d7b71751845270470b4.idx} +0 -0
- data/.git/objects/pack/{pack-9c15c03926d0fe38935c66657f11971674d15cb4.pack → pack-937ee306e3b4fe54045c0d7b71751845270470b4.pack} +0 -0
- data/.git/packed-refs +3 -2
- data/.git/refs/heads/master +1 -1
- data/lib/grpc/options_pb.rb +1 -0
- data/lib/grpc/plumbing.rb +123 -0
- data/lib/grpc/secret_store_healths_pb.rb +72 -0
- data/lib/grpc/secret_store_healths_services_pb.rb +44 -0
- data/lib/models/porcelain.rb +88 -0
- data/lib/strongdm.rb +7 -1
- data/lib/svc.rb +85 -0
- data/lib/version +1 -1
- data/lib/version.rb +1 -1
- metadata +6 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 526ac91fc752ec31eadddb747f4fd3288e0606ac07036913e0040b2789f59260
|
4
|
+
data.tar.gz: 6848e19adbe420ab7dc09d5aa1e53677fe6fb3012ebce67b968c41b35a6e274a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7efe1e6bba5e718bd6b6cf78370c9931f8aa42da305b160c6c0c0714960f90209ba815e6637be0e62ed7c5c8a099cf07a7609454068aa1fc5689dc9fa357a0b5
|
7
|
+
data.tar.gz: 3c08acf70d911a4816dc454279e6a03031dba21a5d521e5ccfcb4383270460afdb58bf8899226cd5dc8caca1c8fe837f4e356925cb08aaae0261af81be285285
|
data/.git/ORIG_HEAD
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
f4af6ebad8174f8e5aeec63536db9290597a3982
|
data/.git/index
CHANGED
Binary file
|
data/.git/logs/HEAD
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
0000000000000000000000000000000000000000
|
2
|
-
|
3
|
-
|
1
|
+
0000000000000000000000000000000000000000 f4af6ebad8174f8e5aeec63536db9290597a3982 sdmrelease <support@strongdm.com> 1706204253 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
|
2
|
+
f4af6ebad8174f8e5aeec63536db9290597a3982 f4af6ebad8174f8e5aeec63536db9290597a3982 sdmrelease <support@strongdm.com> 1706204253 +0000 checkout: moving from master to master
|
3
|
+
f4af6ebad8174f8e5aeec63536db9290597a3982 59ba0e6392d2e7f5f4c053e663766157c9a9b149 sdmrelease <support@strongdm.com> 1706204253 +0000 merge origin/development: Fast-forward
|
data/.git/logs/refs/heads/master
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
0000000000000000000000000000000000000000
|
2
|
-
|
1
|
+
0000000000000000000000000000000000000000 f4af6ebad8174f8e5aeec63536db9290597a3982 sdmrelease <support@strongdm.com> 1706204253 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
|
2
|
+
f4af6ebad8174f8e5aeec63536db9290597a3982 59ba0e6392d2e7f5f4c053e663766157c9a9b149 sdmrelease <support@strongdm.com> 1706204253 +0000 merge origin/development: Fast-forward
|
@@ -1 +1 @@
|
|
1
|
-
0000000000000000000000000000000000000000
|
1
|
+
0000000000000000000000000000000000000000 f4af6ebad8174f8e5aeec63536db9290597a3982 sdmrelease <support@strongdm.com> 1706204253 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
|
Binary file
|
Binary file
|
data/.git/packed-refs
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# pack-refs with: peeled fully-peeled sorted
|
2
|
-
|
3
|
-
|
2
|
+
59ba0e6392d2e7f5f4c053e663766157c9a9b149 refs/remotes/origin/development
|
3
|
+
f4af6ebad8174f8e5aeec63536db9290597a3982 refs/remotes/origin/master
|
4
4
|
2e4fe8087177ddea9b3991ca499f758384839c89 refs/tags/untagged-84fd83a4484c785cce63
|
5
5
|
04f604866214fab4d5663b5171a3e596331577bd refs/tags/v0.9.4
|
6
6
|
6f9a7b75b345c65fb554884907b7060680c807b7 refs/tags/v0.9.5
|
@@ -92,3 +92,4 @@ b724d5bc9ad45c3fbfa394653415d4b7a97ae071 refs/tags/v6.0.0
|
|
92
92
|
da1cd910d138b56624af0d2fa2d92d8acec5edca refs/tags/v6.0.1
|
93
93
|
296fd9e80fd98a5dd3dcaaccde49e33ea5578967 refs/tags/v6.1.0
|
94
94
|
d8f6c24d93d0cf5e48ccc7bf7a5ead950a7b0614 refs/tags/v6.2.0
|
95
|
+
f4af6ebad8174f8e5aeec63536db9290597a3982 refs/tags/v6.2.1
|
data/.git/refs/heads/master
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
59ba0e6392d2e7f5f4c053e663766157c9a9b149
|
data/lib/grpc/options_pb.rb
CHANGED
@@ -35,6 +35,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
35
35
|
optional :method, :string, 1941300
|
36
36
|
optional :url, :string, 1941301
|
37
37
|
optional :deprecation_date, :string, 1941302
|
38
|
+
repeated :targets, :string, 1941401
|
38
39
|
end
|
39
40
|
add_message "v1.MessageOptions" do
|
40
41
|
optional :porcelain, :bool, 1941301
|
data/lib/grpc/plumbing.rb
CHANGED
@@ -55,6 +55,7 @@ require_relative "./role_resources_pb"
|
|
55
55
|
require_relative "./role_resources_history_pb"
|
56
56
|
require_relative "./roles_pb"
|
57
57
|
require_relative "./roles_history_pb"
|
58
|
+
require_relative "./secret_store_healths_pb"
|
58
59
|
require_relative "./secret_store_types_pb"
|
59
60
|
require_relative "./secret_stores_pb"
|
60
61
|
require_relative "./secret_stores_history_pb"
|
@@ -9622,6 +9623,128 @@ module SDM
|
|
9622
9623
|
end
|
9623
9624
|
items
|
9624
9625
|
end
|
9626
|
+
def self.convert_secret_store_health_to_porcelain(plumbing)
|
9627
|
+
if plumbing == nil
|
9628
|
+
return nil
|
9629
|
+
end
|
9630
|
+
porcelain = SecretStoreHealth.new()
|
9631
|
+
porcelain.changed_at = convert_timestamp_to_porcelain(plumbing.changed_at)
|
9632
|
+
porcelain.checked_at = convert_timestamp_to_porcelain(plumbing.checked_at)
|
9633
|
+
porcelain.error = (plumbing.error)
|
9634
|
+
porcelain.flags = (plumbing.flags)
|
9635
|
+
porcelain.node_id = (plumbing.node_id)
|
9636
|
+
porcelain.reachability = (plumbing.reachability)
|
9637
|
+
porcelain.secret_store_id = (plumbing.secret_store_id)
|
9638
|
+
porcelain.status = (plumbing.status)
|
9639
|
+
porcelain
|
9640
|
+
end
|
9641
|
+
|
9642
|
+
def self.convert_secret_store_health_to_plumbing(porcelain)
|
9643
|
+
if porcelain == nil
|
9644
|
+
return nil
|
9645
|
+
end
|
9646
|
+
plumbing = V1::SecretStoreHealth.new()
|
9647
|
+
plumbing.changed_at = convert_timestamp_to_plumbing(porcelain.changed_at)
|
9648
|
+
plumbing.checked_at = convert_timestamp_to_plumbing(porcelain.checked_at)
|
9649
|
+
plumbing.error = (porcelain.error)
|
9650
|
+
plumbing.flags += (porcelain.flags)
|
9651
|
+
plumbing.node_id = (porcelain.node_id)
|
9652
|
+
plumbing.reachability = (porcelain.reachability)
|
9653
|
+
plumbing.secret_store_id = (porcelain.secret_store_id)
|
9654
|
+
plumbing.status = (porcelain.status)
|
9655
|
+
plumbing
|
9656
|
+
end
|
9657
|
+
def self.convert_repeated_secret_store_health_to_plumbing(porcelains)
|
9658
|
+
items = Array.new
|
9659
|
+
porcelains.each do |porcelain|
|
9660
|
+
plumbing = convert_secret_store_health_to_plumbing(porcelain)
|
9661
|
+
items.append(plumbing)
|
9662
|
+
end
|
9663
|
+
items
|
9664
|
+
end
|
9665
|
+
|
9666
|
+
def self.convert_repeated_secret_store_health_to_porcelain(plumbings)
|
9667
|
+
items = Array.new
|
9668
|
+
plumbings.each do |plumbing|
|
9669
|
+
porcelain = convert_secret_store_health_to_porcelain(plumbing)
|
9670
|
+
items.append(porcelain)
|
9671
|
+
end
|
9672
|
+
items
|
9673
|
+
end
|
9674
|
+
def self.convert_secret_store_health_list_response_to_porcelain(plumbing)
|
9675
|
+
if plumbing == nil
|
9676
|
+
return nil
|
9677
|
+
end
|
9678
|
+
porcelain = SecretStoreHealthListResponse.new()
|
9679
|
+
porcelain.meta = convert_list_response_metadata_to_porcelain(plumbing.meta)
|
9680
|
+
porcelain.rate_limit = convert_rate_limit_metadata_to_porcelain(plumbing.rate_limit)
|
9681
|
+
porcelain.secret_store_healths = convert_repeated_secret_store_health_to_porcelain(plumbing.secret_store_healths)
|
9682
|
+
porcelain
|
9683
|
+
end
|
9684
|
+
|
9685
|
+
def self.convert_secret_store_health_list_response_to_plumbing(porcelain)
|
9686
|
+
if porcelain == nil
|
9687
|
+
return nil
|
9688
|
+
end
|
9689
|
+
plumbing = V1::SecretStoreHealthListResponse.new()
|
9690
|
+
plumbing.meta = convert_list_response_metadata_to_plumbing(porcelain.meta)
|
9691
|
+
plumbing.rate_limit = convert_rate_limit_metadata_to_plumbing(porcelain.rate_limit)
|
9692
|
+
plumbing.secret_store_healths += convert_repeated_secret_store_health_to_plumbing(porcelain.secret_store_healths)
|
9693
|
+
plumbing
|
9694
|
+
end
|
9695
|
+
def self.convert_repeated_secret_store_health_list_response_to_plumbing(porcelains)
|
9696
|
+
items = Array.new
|
9697
|
+
porcelains.each do |porcelain|
|
9698
|
+
plumbing = convert_secret_store_health_list_response_to_plumbing(porcelain)
|
9699
|
+
items.append(plumbing)
|
9700
|
+
end
|
9701
|
+
items
|
9702
|
+
end
|
9703
|
+
|
9704
|
+
def self.convert_repeated_secret_store_health_list_response_to_porcelain(plumbings)
|
9705
|
+
items = Array.new
|
9706
|
+
plumbings.each do |plumbing|
|
9707
|
+
porcelain = convert_secret_store_health_list_response_to_porcelain(plumbing)
|
9708
|
+
items.append(porcelain)
|
9709
|
+
end
|
9710
|
+
items
|
9711
|
+
end
|
9712
|
+
def self.convert_secret_store_healthcheck_response_to_porcelain(plumbing)
|
9713
|
+
if plumbing == nil
|
9714
|
+
return nil
|
9715
|
+
end
|
9716
|
+
porcelain = SecretStoreHealthcheckResponse.new()
|
9717
|
+
porcelain.meta = convert_create_response_metadata_to_porcelain(plumbing.meta)
|
9718
|
+
porcelain.rate_limit = convert_rate_limit_metadata_to_porcelain(plumbing.rate_limit)
|
9719
|
+
porcelain
|
9720
|
+
end
|
9721
|
+
|
9722
|
+
def self.convert_secret_store_healthcheck_response_to_plumbing(porcelain)
|
9723
|
+
if porcelain == nil
|
9724
|
+
return nil
|
9725
|
+
end
|
9726
|
+
plumbing = V1::SecretStoreHealthcheckResponse.new()
|
9727
|
+
plumbing.meta = convert_create_response_metadata_to_plumbing(porcelain.meta)
|
9728
|
+
plumbing.rate_limit = convert_rate_limit_metadata_to_plumbing(porcelain.rate_limit)
|
9729
|
+
plumbing
|
9730
|
+
end
|
9731
|
+
def self.convert_repeated_secret_store_healthcheck_response_to_plumbing(porcelains)
|
9732
|
+
items = Array.new
|
9733
|
+
porcelains.each do |porcelain|
|
9734
|
+
plumbing = convert_secret_store_healthcheck_response_to_plumbing(porcelain)
|
9735
|
+
items.append(plumbing)
|
9736
|
+
end
|
9737
|
+
items
|
9738
|
+
end
|
9739
|
+
|
9740
|
+
def self.convert_repeated_secret_store_healthcheck_response_to_porcelain(plumbings)
|
9741
|
+
items = Array.new
|
9742
|
+
plumbings.each do |plumbing|
|
9743
|
+
porcelain = convert_secret_store_healthcheck_response_to_porcelain(plumbing)
|
9744
|
+
items.append(porcelain)
|
9745
|
+
end
|
9746
|
+
items
|
9747
|
+
end
|
9625
9748
|
def self.convert_secret_store_history_to_porcelain(plumbing)
|
9626
9749
|
if plumbing == nil
|
9627
9750
|
return nil
|
@@ -0,0 +1,72 @@
|
|
1
|
+
# Copyright 2020 StrongDM Inc
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
#
|
15
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
16
|
+
# source: secret_store_healths.proto
|
17
|
+
|
18
|
+
require "google/protobuf"
|
19
|
+
|
20
|
+
require "options_pb"
|
21
|
+
require "google/protobuf/timestamp_pb"
|
22
|
+
require "spec_pb"
|
23
|
+
|
24
|
+
Google::Protobuf::DescriptorPool.generated_pool.build do
|
25
|
+
add_file("secret_store_healths.proto", :syntax => :proto3) do
|
26
|
+
add_message "v1.SecretStoreHealthListRequest" do
|
27
|
+
optional :meta, :message, 1, "v1.ListRequestMetadata"
|
28
|
+
optional :filter, :string, 2
|
29
|
+
end
|
30
|
+
add_message "v1.SecretStoreHealthListResponse" do
|
31
|
+
optional :meta, :message, 1, "v1.ListResponseMetadata"
|
32
|
+
repeated :secret_store_healths, :message, 2, "v1.SecretStoreHealth"
|
33
|
+
optional :rate_limit, :message, 3, "v1.RateLimitMetadata"
|
34
|
+
end
|
35
|
+
add_message "v1.SecretStoreHealthCheckRequest" do
|
36
|
+
optional :meta, :message, 1, "v1.CreateRequestMetadata"
|
37
|
+
optional :secret_store_id, :string, 2
|
38
|
+
end
|
39
|
+
add_message "v1.SecretStoreHealthcheckRequest" do
|
40
|
+
optional :meta, :message, 1, "v1.CreateRequestMetadata"
|
41
|
+
optional :secret_store_id, :string, 2
|
42
|
+
end
|
43
|
+
add_message "v1.SecretStoreHealthCheckResponse" do
|
44
|
+
optional :meta, :message, 1, "v1.CreateResponseMetadata"
|
45
|
+
optional :rate_limit, :message, 2, "v1.RateLimitMetadata"
|
46
|
+
end
|
47
|
+
add_message "v1.SecretStoreHealthcheckResponse" do
|
48
|
+
optional :meta, :message, 1, "v1.CreateResponseMetadata"
|
49
|
+
optional :rate_limit, :message, 2, "v1.RateLimitMetadata"
|
50
|
+
end
|
51
|
+
add_message "v1.SecretStoreHealth" do
|
52
|
+
optional :secret_store_id, :string, 1
|
53
|
+
optional :node_id, :string, 2
|
54
|
+
optional :status, :string, 4
|
55
|
+
optional :changed_at, :message, 6, "google.protobuf.Timestamp"
|
56
|
+
optional :checked_at, :message, 7, "google.protobuf.Timestamp"
|
57
|
+
optional :error, :string, 8
|
58
|
+
optional :reachability, :string, 9
|
59
|
+
repeated :flags, :string, 10
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
module V1
|
65
|
+
SecretStoreHealthListRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.SecretStoreHealthListRequest").msgclass
|
66
|
+
SecretStoreHealthListResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.SecretStoreHealthListResponse").msgclass
|
67
|
+
SecretStoreHealthCheckRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.SecretStoreHealthCheckRequest").msgclass
|
68
|
+
SecretStoreHealthcheckRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.SecretStoreHealthcheckRequest").msgclass
|
69
|
+
SecretStoreHealthCheckResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.SecretStoreHealthCheckResponse").msgclass
|
70
|
+
SecretStoreHealthcheckResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.SecretStoreHealthcheckResponse").msgclass
|
71
|
+
SecretStoreHealth = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.SecretStoreHealth").msgclass
|
72
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# Copyright 2020 StrongDM Inc
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
#
|
15
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
16
|
+
# Source: secret_store_healths.proto for package 'v1'
|
17
|
+
|
18
|
+
require "grpc"
|
19
|
+
require "secret_store_healths_pb"
|
20
|
+
|
21
|
+
module V1
|
22
|
+
module SecretStoreHealths
|
23
|
+
# SecretStoreHealths exposes health states for secret stores.
|
24
|
+
class Service
|
25
|
+
include ::GRPC::GenericService
|
26
|
+
|
27
|
+
self.marshal_class_method = :encode
|
28
|
+
self.unmarshal_class_method = :decode
|
29
|
+
self.service_name = "v1.SecretStoreHealths"
|
30
|
+
|
31
|
+
# List reports the health status of node to secret store pairs.
|
32
|
+
rpc :List, ::V1::SecretStoreHealthListRequest, ::V1::SecretStoreHealthListResponse
|
33
|
+
# Check pushes a healthcheck request for a secret store
|
34
|
+
# Deprecated: use Healthcheck instead
|
35
|
+
rpc :Check, ::V1::SecretStoreHealthCheckRequest, ::V1::SecretStoreHealthCheckResponse
|
36
|
+
# Healthcheck triggers a remote healthcheck request for a secret store. It may take minutes
|
37
|
+
# to propagate across a large network of Nodes. The call will return immediately, and the
|
38
|
+
# updated health of the Secret Store can be retrieved via List.
|
39
|
+
rpc :Healthcheck, ::V1::SecretStoreHealthcheckRequest, ::V1::SecretStoreHealthcheckResponse
|
40
|
+
end
|
41
|
+
|
42
|
+
Stub = Service.rpc_stub_class
|
43
|
+
end
|
44
|
+
end
|
data/lib/models/porcelain.rb
CHANGED
@@ -9076,6 +9076,94 @@ module SDM
|
|
9076
9076
|
end
|
9077
9077
|
end
|
9078
9078
|
|
9079
|
+
# SecretStoreHealth denotes a secret store's health status. Note a secret store is not
|
9080
|
+
# healthy in terms of a simple boolean, but rather healthy with respect to a particular node
|
9081
|
+
# or set of nodes.
|
9082
|
+
class SecretStoreHealth
|
9083
|
+
# The time when the status last changed
|
9084
|
+
attr_accessor :changed_at
|
9085
|
+
# The time when the status was last checked by the node
|
9086
|
+
attr_accessor :checked_at
|
9087
|
+
# The error associated with this health check, if it occurred after reachability checks succeeded.
|
9088
|
+
attr_accessor :error
|
9089
|
+
# Any specific status or error flags associated with this health check.
|
9090
|
+
attr_accessor :flags
|
9091
|
+
# Associated node id for this health
|
9092
|
+
attr_accessor :node_id
|
9093
|
+
# The error associated with this health check, if it occurred during reachability checks.
|
9094
|
+
attr_accessor :reachability
|
9095
|
+
# Associated secret store for this health
|
9096
|
+
attr_accessor :secret_store_id
|
9097
|
+
# The status of the link between the node and secret store
|
9098
|
+
attr_accessor :status
|
9099
|
+
|
9100
|
+
def initialize(
|
9101
|
+
changed_at: nil,
|
9102
|
+
checked_at: nil,
|
9103
|
+
error: nil,
|
9104
|
+
flags: nil,
|
9105
|
+
node_id: nil,
|
9106
|
+
reachability: nil,
|
9107
|
+
secret_store_id: nil,
|
9108
|
+
status: nil
|
9109
|
+
)
|
9110
|
+
@changed_at = changed_at == nil ? nil : changed_at
|
9111
|
+
@checked_at = checked_at == nil ? nil : checked_at
|
9112
|
+
@error = error == nil ? "" : error
|
9113
|
+
@flags = flags == nil ? [] : flags
|
9114
|
+
@node_id = node_id == nil ? "" : node_id
|
9115
|
+
@reachability = reachability == nil ? "" : reachability
|
9116
|
+
@secret_store_id = secret_store_id == nil ? "" : secret_store_id
|
9117
|
+
@status = status == nil ? "" : status
|
9118
|
+
end
|
9119
|
+
|
9120
|
+
def to_json(options = {})
|
9121
|
+
hash = {}
|
9122
|
+
self.instance_variables.each do |var|
|
9123
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
9124
|
+
end
|
9125
|
+
hash.to_json
|
9126
|
+
end
|
9127
|
+
end
|
9128
|
+
|
9129
|
+
class SecretStoreHealthListResponse
|
9130
|
+
# Rate limit information.
|
9131
|
+
attr_accessor :rate_limit
|
9132
|
+
|
9133
|
+
def initialize(
|
9134
|
+
rate_limit: nil
|
9135
|
+
)
|
9136
|
+
@rate_limit = rate_limit == nil ? nil : rate_limit
|
9137
|
+
end
|
9138
|
+
|
9139
|
+
def to_json(options = {})
|
9140
|
+
hash = {}
|
9141
|
+
self.instance_variables.each do |var|
|
9142
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
9143
|
+
end
|
9144
|
+
hash.to_json
|
9145
|
+
end
|
9146
|
+
end
|
9147
|
+
|
9148
|
+
class SecretStoreHealthcheckResponse
|
9149
|
+
# Rate limit information.
|
9150
|
+
attr_accessor :rate_limit
|
9151
|
+
|
9152
|
+
def initialize(
|
9153
|
+
rate_limit: nil
|
9154
|
+
)
|
9155
|
+
@rate_limit = rate_limit == nil ? nil : rate_limit
|
9156
|
+
end
|
9157
|
+
|
9158
|
+
def to_json(options = {})
|
9159
|
+
hash = {}
|
9160
|
+
self.instance_variables.each do |var|
|
9161
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
9162
|
+
end
|
9163
|
+
hash.to_json
|
9164
|
+
end
|
9165
|
+
end
|
9166
|
+
|
9079
9167
|
# SecretStoreHistory records the state of a SecretStore at a given point in time,
|
9080
9168
|
# where every change (create, update and delete) to a SecretStore produces an
|
9081
9169
|
# SecretStoreHistory record.
|
data/lib/strongdm.rb
CHANGED
@@ -29,7 +29,7 @@ module SDM #:nodoc:
|
|
29
29
|
DEFAULT_BASE_RETRY_DELAY = 0.0030 # 30 ms
|
30
30
|
DEFAULT_MAX_RETRY_DELAY = 300 # 300 seconds
|
31
31
|
API_VERSION = "2021-08-23"
|
32
|
-
USER_AGENT = "strongdm-sdk-ruby/6.
|
32
|
+
USER_AGENT = "strongdm-sdk-ruby/6.3.0"
|
33
33
|
private_constant :DEFAULT_MAX_RETRIES, :DEFAULT_BASE_RETRY_DELAY, :DEFAULT_MAX_RETRY_DELAY, :API_VERSION, :USER_AGENT
|
34
34
|
|
35
35
|
# Creates a new strongDM API client.
|
@@ -88,6 +88,7 @@ module SDM #:nodoc:
|
|
88
88
|
@role_resources_history = RoleResourcesHistory.new(@channel, self)
|
89
89
|
@roles = Roles.new(@channel, self)
|
90
90
|
@roles_history = RolesHistory.new(@channel, self)
|
91
|
+
@secret_store_healths = SecretStoreHealths.new(@channel, self)
|
91
92
|
@secret_stores = SecretStores.new(@channel, self)
|
92
93
|
@secret_stores_history = SecretStoresHistory.new(@channel, self)
|
93
94
|
@workflow_approvers = WorkflowApprovers.new(@channel, self)
|
@@ -336,6 +337,10 @@ module SDM #:nodoc:
|
|
336
337
|
#
|
337
338
|
# See {RolesHistory}.
|
338
339
|
attr_reader :roles_history
|
340
|
+
# SecretStoreHealths exposes health states for secret stores.
|
341
|
+
#
|
342
|
+
# See {SecretStoreHealths}.
|
343
|
+
attr_reader :secret_store_healths
|
339
344
|
# SecretStores are servers where resource secrets (passwords, keys) are stored.
|
340
345
|
#
|
341
346
|
# See {SecretStores}.
|
@@ -421,6 +426,7 @@ module SDM #:nodoc:
|
|
421
426
|
@role_resources_history = RoleResourcesHistory.new(@channel, self)
|
422
427
|
@roles = Roles.new(@channel, self)
|
423
428
|
@roles_history = RolesHistory.new(@channel, self)
|
429
|
+
@secret_store_healths = SecretStoreHealths.new(@channel, self)
|
424
430
|
@secret_stores = SecretStores.new(@channel, self)
|
425
431
|
@secret_stores_history = SecretStoresHistory.new(@channel, self)
|
426
432
|
@workflow_approvers = WorkflowApprovers.new(@channel, self)
|
data/lib/svc.rb
CHANGED
@@ -3667,6 +3667,91 @@ module SDM #:nodoc:
|
|
3667
3667
|
end
|
3668
3668
|
end
|
3669
3669
|
|
3670
|
+
# SecretStoreHealths exposes health states for secret stores.
|
3671
|
+
#
|
3672
|
+
# See {SecretStoreHealth}.
|
3673
|
+
class SecretStoreHealths
|
3674
|
+
extend Gem::Deprecate
|
3675
|
+
|
3676
|
+
def initialize(channel, parent)
|
3677
|
+
begin
|
3678
|
+
@stub = V1::SecretStoreHealths::Stub.new(nil, nil, channel_override: channel)
|
3679
|
+
rescue => exception
|
3680
|
+
raise Plumbing::convert_error_to_porcelain(exception)
|
3681
|
+
end
|
3682
|
+
@parent = parent
|
3683
|
+
end
|
3684
|
+
|
3685
|
+
# List reports the health status of node to secret store pairs.
|
3686
|
+
def list(
|
3687
|
+
filter,
|
3688
|
+
*args,
|
3689
|
+
deadline: nil
|
3690
|
+
)
|
3691
|
+
req = V1::SecretStoreHealthListRequest.new()
|
3692
|
+
req.meta = V1::ListRequestMetadata.new()
|
3693
|
+
if @parent.page_limit > 0
|
3694
|
+
req.meta.limit = @parent.page_limit
|
3695
|
+
end
|
3696
|
+
if not @parent.snapshot_time.nil?
|
3697
|
+
req.meta.snapshot_at = @parent.snapshot_time
|
3698
|
+
end
|
3699
|
+
|
3700
|
+
req.filter = Plumbing::quote_filter_args(filter, *args)
|
3701
|
+
resp = Enumerator::Generator.new { |g|
|
3702
|
+
tries = 0
|
3703
|
+
loop do
|
3704
|
+
begin
|
3705
|
+
plumbing_response = @stub.list(req, metadata: @parent.get_metadata("SecretStoreHealths.List", req), deadline: deadline)
|
3706
|
+
rescue => exception
|
3707
|
+
if (@parent.shouldRetry(tries, exception))
|
3708
|
+
tries + +@parent.jitterSleep(tries)
|
3709
|
+
next
|
3710
|
+
end
|
3711
|
+
raise Plumbing::convert_error_to_porcelain(exception)
|
3712
|
+
end
|
3713
|
+
tries = 0
|
3714
|
+
plumbing_response.secret_store_healths.each do |plumbing_item|
|
3715
|
+
g.yield Plumbing::convert_secret_store_health_to_porcelain(plumbing_item)
|
3716
|
+
end
|
3717
|
+
break if plumbing_response.meta.next_cursor == ""
|
3718
|
+
req.meta.cursor = plumbing_response.meta.next_cursor
|
3719
|
+
end
|
3720
|
+
}
|
3721
|
+
resp
|
3722
|
+
end
|
3723
|
+
|
3724
|
+
# Healthcheck triggers a remote healthcheck request for a secret store. It may take minutes
|
3725
|
+
# to propagate across a large network of Nodes. The call will return immediately, and the
|
3726
|
+
# updated health of the Secret Store can be retrieved via List.
|
3727
|
+
def healthcheck(
|
3728
|
+
secret_store_id,
|
3729
|
+
deadline: nil
|
3730
|
+
)
|
3731
|
+
req = V1::SecretStoreHealthcheckRequest.new()
|
3732
|
+
|
3733
|
+
req.secret_store_id = (secret_store_id)
|
3734
|
+
tries = 0
|
3735
|
+
plumbing_response = nil
|
3736
|
+
loop do
|
3737
|
+
begin
|
3738
|
+
plumbing_response = @stub.healthcheck(req, metadata: @parent.get_metadata("SecretStoreHealths.Healthcheck", req), deadline: deadline)
|
3739
|
+
rescue => exception
|
3740
|
+
if (@parent.shouldRetry(tries, exception))
|
3741
|
+
tries + +@parent.jitterSleep(tries)
|
3742
|
+
next
|
3743
|
+
end
|
3744
|
+
raise Plumbing::convert_error_to_porcelain(exception)
|
3745
|
+
end
|
3746
|
+
break
|
3747
|
+
end
|
3748
|
+
|
3749
|
+
resp = SecretStoreHealthcheckResponse.new()
|
3750
|
+
resp.rate_limit = Plumbing::convert_rate_limit_metadata_to_porcelain(plumbing_response.rate_limit)
|
3751
|
+
resp
|
3752
|
+
end
|
3753
|
+
end
|
3754
|
+
|
3670
3755
|
# SecretStores are servers where resource secrets (passwords, keys) are stored.
|
3671
3756
|
#
|
3672
3757
|
# See:
|
data/lib/version
CHANGED
data/lib/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: strongdm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.
|
4
|
+
version: 6.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- strongDM Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-01-
|
11
|
+
date: 2024-01-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: grpc
|
@@ -81,8 +81,8 @@ files:
|
|
81
81
|
- "./.git/logs/HEAD"
|
82
82
|
- "./.git/logs/refs/heads/master"
|
83
83
|
- "./.git/logs/refs/remotes/origin/HEAD"
|
84
|
-
- "./.git/objects/pack/pack-
|
85
|
-
- "./.git/objects/pack/pack-
|
84
|
+
- "./.git/objects/pack/pack-937ee306e3b4fe54045c0d7b71751845270470b4.idx"
|
85
|
+
- "./.git/objects/pack/pack-937ee306e3b4fe54045c0d7b71751845270470b4.pack"
|
86
86
|
- "./.git/packed-refs"
|
87
87
|
- "./.git/refs/heads/master"
|
88
88
|
- "./.git/refs/remotes/origin/HEAD"
|
@@ -161,6 +161,8 @@ files:
|
|
161
161
|
- "./lib/grpc/roles_history_services_pb.rb"
|
162
162
|
- "./lib/grpc/roles_pb.rb"
|
163
163
|
- "./lib/grpc/roles_services_pb.rb"
|
164
|
+
- "./lib/grpc/secret_store_healths_pb.rb"
|
165
|
+
- "./lib/grpc/secret_store_healths_services_pb.rb"
|
164
166
|
- "./lib/grpc/secret_store_types_pb.rb"
|
165
167
|
- "./lib/grpc/secret_stores_history_pb.rb"
|
166
168
|
- "./lib/grpc/secret_stores_history_services_pb.rb"
|