strongdm 6.2.1 → 6.3.0

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: 508cf85b3339c97c567c9f849b198ca67571f489895c1431040b4339ccb0e91b
4
- data.tar.gz: c13c04a62365637ef9f3e9c92af4e8d8010617f0a3711bda9c167f6588780632
3
+ metadata.gz: 526ac91fc752ec31eadddb747f4fd3288e0606ac07036913e0040b2789f59260
4
+ data.tar.gz: 6848e19adbe420ab7dc09d5aa1e53677fe6fb3012ebce67b968c41b35a6e274a
5
5
  SHA512:
6
- metadata.gz: 5cc7c3360103c2de7c1518ad787bb10669fed8c25403222e4279aa7f8822adf94ab8744e74b2cf28cbb1f117df475b1eccc47ff59647ad9338eb1571783ad4ce
7
- data.tar.gz: 86a46f6ed308c69ca6041294e0b66cefa3bf7ee1208251b9d24bb0437fed15fb651513b315b54f4452ada81e5125c16e273953b7993c5c3dc014de30f5902971
6
+ metadata.gz: 7efe1e6bba5e718bd6b6cf78370c9931f8aa42da305b160c6c0c0714960f90209ba815e6637be0e62ed7c5c8a099cf07a7609454068aa1fc5689dc9fa357a0b5
7
+ data.tar.gz: 3c08acf70d911a4816dc454279e6a03031dba21a5d521e5ccfcb4383270460afdb58bf8899226cd5dc8caca1c8fe837f4e356925cb08aaae0261af81be285285
data/.git/ORIG_HEAD CHANGED
@@ -1 +1 @@
1
- d8f6c24d93d0cf5e48ccc7bf7a5ead950a7b0614
1
+ f4af6ebad8174f8e5aeec63536db9290597a3982
data/.git/index CHANGED
Binary file
data/.git/logs/HEAD CHANGED
@@ -1,3 +1,3 @@
1
- 0000000000000000000000000000000000000000 d8f6c24d93d0cf5e48ccc7bf7a5ead950a7b0614 sdmrelease <support@strongdm.com> 1705702012 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
2
- d8f6c24d93d0cf5e48ccc7bf7a5ead950a7b0614 d8f6c24d93d0cf5e48ccc7bf7a5ead950a7b0614 sdmrelease <support@strongdm.com> 1705702012 +0000 checkout: moving from master to master
3
- d8f6c24d93d0cf5e48ccc7bf7a5ead950a7b0614 f4af6ebad8174f8e5aeec63536db9290597a3982 sdmrelease <support@strongdm.com> 1705702012 +0000 merge origin/development: Fast-forward
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
@@ -1,2 +1,2 @@
1
- 0000000000000000000000000000000000000000 d8f6c24d93d0cf5e48ccc7bf7a5ead950a7b0614 sdmrelease <support@strongdm.com> 1705702012 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
2
- d8f6c24d93d0cf5e48ccc7bf7a5ead950a7b0614 f4af6ebad8174f8e5aeec63536db9290597a3982 sdmrelease <support@strongdm.com> 1705702012 +0000 merge origin/development: Fast-forward
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 d8f6c24d93d0cf5e48ccc7bf7a5ead950a7b0614 sdmrelease <support@strongdm.com> 1705702012 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
1
+ 0000000000000000000000000000000000000000 f4af6ebad8174f8e5aeec63536db9290597a3982 sdmrelease <support@strongdm.com> 1706204253 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
data/.git/packed-refs CHANGED
@@ -1,6 +1,6 @@
1
1
  # pack-refs with: peeled fully-peeled sorted
2
- f4af6ebad8174f8e5aeec63536db9290597a3982 refs/remotes/origin/development
3
- d8f6c24d93d0cf5e48ccc7bf7a5ead950a7b0614 refs/remotes/origin/master
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
@@ -1 +1 @@
1
- f4af6ebad8174f8e5aeec63536db9290597a3982
1
+ 59ba0e6392d2e7f5f4c053e663766157c9a9b149
@@ -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
@@ -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.2.1"
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
@@ -13,5 +13,5 @@
13
13
  # limitations under the License.
14
14
  #
15
15
  module SDM
16
- VERSION = "6.2.1"
16
+ VERSION = "6.3.0"
17
17
  end
data/lib/version.rb CHANGED
@@ -13,5 +13,5 @@
13
13
  # limitations under the License.
14
14
  #
15
15
  module SDM
16
- VERSION = "6.2.1"
16
+ VERSION = "6.3.0"
17
17
  end
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.2.1
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-19 00:00:00.000000000 Z
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-9c15c03926d0fe38935c66657f11971674d15cb4.idx"
85
- - "./.git/objects/pack/pack-9c15c03926d0fe38935c66657f11971674d15cb4.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"