Class: SDM::SecretStoreHealths
- Inherits:
-
Object
- Object
- SDM::SecretStoreHealths
- Extended by:
- Gem::Deprecate
- Defined in:
- lib/svc.rb
Overview
SecretStoreHealths exposes health states for secret stores.
See SecretStoreHealth.
Instance Method Summary collapse
-
#healthcheck(secret_store_id, deadline: nil) ⇒ Object
Healthcheck triggers a remote healthcheck request for a secret store.
-
#initialize(channel, parent) ⇒ SecretStoreHealths
constructor
A new instance of SecretStoreHealths.
-
#list(filter, *args, deadline: nil) ⇒ Object
List reports the health status of node to secret store pairs.
Constructor Details
#initialize(channel, parent) ⇒ SecretStoreHealths
7959 7960 7961 7962 7963 7964 7965 7966 |
# File 'lib/svc.rb', line 7959 def initialize(channel, parent) begin @stub = V1::SecretStoreHealths::Stub.new(nil, nil, channel_override: channel) rescue => exception raise Plumbing::convert_error_to_porcelain(exception) end @parent = parent end |
Instance Method Details
#healthcheck(secret_store_id, deadline: nil) ⇒ Object
Healthcheck triggers a remote healthcheck request for a secret store. It may take minutes to propagate across a large network of Nodes. The call will return immediately, and the updated health of the Secret Store can be retrieved via List.
8010 8011 8012 8013 8014 8015 8016 8017 8018 8019 8020 8021 8022 8023 8024 8025 8026 8027 8028 8029 8030 8031 8032 8033 8034 8035 8036 8037 8038 8039 8040 |
# File 'lib/svc.rb', line 8010 def healthcheck( secret_store_id, deadline: nil ) req = V1::SecretStoreHealthcheckRequest.new() req.secret_store_id = (secret_store_id) # Execute before interceptor hooks req = @parent.interceptor.execute_before("SecretStoreHealths.Healthcheck", self, req) tries = 0 plumbing_response = nil loop do begin plumbing_response = @stub.healthcheck(req, metadata: @parent.("SecretStoreHealths.Healthcheck", req), deadline: deadline) rescue => exception if (@parent.shouldRetry(tries, exception, deadline)) tries + +sleep(@parent.exponentialBackoff(tries, deadline)) next end raise Plumbing::convert_error_to_porcelain(exception) end break end # Execute after interceptor hooks plumbing_response = @parent.interceptor.execute_after("SecretStoreHealths.Healthcheck", self, req, plumbing_response) resp = SecretStoreHealthcheckResponse.new() resp.rate_limit = Plumbing::(plumbing_response.rate_limit) resp end |
#list(filter, *args, deadline: nil) ⇒ Object
List reports the health status of node to secret store pairs.
7969 7970 7971 7972 7973 7974 7975 7976 7977 7978 7979 7980 7981 7982 7983 7984 7985 7986 7987 7988 7989 7990 7991 7992 7993 7994 7995 7996 7997 7998 7999 8000 8001 8002 8003 8004 8005 |
# File 'lib/svc.rb', line 7969 def list( filter, *args, deadline: nil ) req = V1::SecretStoreHealthListRequest.new() req. = V1::ListRequestMetadata.new() if not @parent.page_limit.nil? req..limit = @parent.page_limit end if not @parent.snapshot_time.nil? req..snapshot_at = @parent.snapshot_time end req.filter = Plumbing::quote_filter_args(filter, *args) resp = Enumerator::Generator.new { |g| tries = 0 loop do begin plumbing_response = @stub.list(req, metadata: @parent.("SecretStoreHealths.List", req), deadline: deadline) rescue => exception if (@parent.shouldRetry(tries, exception, deadline)) tries + +sleep(@parent.exponentialBackoff(tries, deadline)) next end raise Plumbing::convert_error_to_porcelain(exception) end tries = 0 plumbing_response.secret_store_healths.each do |plumbing_item| g.yield Plumbing::convert_secret_store_health_to_porcelain(plumbing_item) end break if plumbing_response..next_cursor == "" req..cursor = plumbing_response..next_cursor end } resp end |