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 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"