strongdm 11.15.0 → 11.16.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 +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-4f2968bd20a0045494b845027aca2efe999a68c0.idx → pack-e562871e9a481abb4106ccb5bc169fb5bb7000dd.idx} +0 -0
- data/.git/objects/pack/{pack-4f2968bd20a0045494b845027aca2efe999a68c0.pack → pack-e562871e9a481abb4106ccb5bc169fb5bb7000dd.pack} +0 -0
- data/.git/packed-refs +3 -2
- data/.git/refs/heads/master +1 -1
- data/lib/grpc/health_checks_pb.rb +52 -0
- data/lib/grpc/health_checks_services_pb.rb +38 -0
- data/lib/grpc/plumbing.rb +83 -0
- data/lib/models/porcelain.rb +69 -0
- data/lib/strongdm.rb +8 -1
- data/lib/svc.rb +56 -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: 69dcec3cfdaac3516dea8436249a5453bb1ecad02605ceff196be0b07d1a45fc
|
|
4
|
+
data.tar.gz: 5f86253a164720dd6e9186db5f9d9ab44a9dc52ff4d2564071f621d11f051975
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 067c04067712d02843c1f7a0ee4f6e7fe3b954d50cad84d729030b6fd615a070fa5edfef3f73b5251dd45b065b13563bc1c0d7d5c620294fecc27e8b961d8c3a
|
|
7
|
+
data.tar.gz: 1d5faed6b90e0b97435e28017a7914effab1166db6a5250eea97139351c5d56c07a3cc4e650e40253249bcaeb3b45f4db2d1471ade67fc8ccd591a7545853f83
|
data/.git/ORIG_HEAD
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
76f5a2a075048c179bcabe4cad4f3e66e1f10b12
|
data/.git/index
CHANGED
|
Binary file
|
data/.git/logs/HEAD
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
0000000000000000000000000000000000000000
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
0000000000000000000000000000000000000000 76f5a2a075048c179bcabe4cad4f3e66e1f10b12 root <root@e2d8bb240c69.(none)> 1730323098 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
|
|
2
|
+
76f5a2a075048c179bcabe4cad4f3e66e1f10b12 76f5a2a075048c179bcabe4cad4f3e66e1f10b12 root <root@e2d8bb240c69.(none)> 1730323098 +0000 checkout: moving from master to master
|
|
3
|
+
76f5a2a075048c179bcabe4cad4f3e66e1f10b12 5ea659281f2b7a99a04b52522551bce0625859eb root <root@e2d8bb240c69.(none)> 1730323098 +0000 merge origin/development: Fast-forward
|
data/.git/logs/refs/heads/master
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
0000000000000000000000000000000000000000
|
|
2
|
-
|
|
1
|
+
0000000000000000000000000000000000000000 76f5a2a075048c179bcabe4cad4f3e66e1f10b12 root <root@e2d8bb240c69.(none)> 1730323098 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
|
|
2
|
+
76f5a2a075048c179bcabe4cad4f3e66e1f10b12 5ea659281f2b7a99a04b52522551bce0625859eb root <root@e2d8bb240c69.(none)> 1730323098 +0000 merge origin/development: Fast-forward
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0000000000000000000000000000000000000000
|
|
1
|
+
0000000000000000000000000000000000000000 76f5a2a075048c179bcabe4cad4f3e66e1f10b12 root <root@e2d8bb240c69.(none)> 1730323098 +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
|
+
5ea659281f2b7a99a04b52522551bce0625859eb refs/remotes/origin/development
|
|
3
|
+
76f5a2a075048c179bcabe4cad4f3e66e1f10b12 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
|
|
@@ -42,6 +42,7 @@ bf1c418728ff5a8ff1ffb1c261dcffbca06612f6 refs/tags/v11.11.2
|
|
|
42
42
|
aca824df29f19d5db284f1b94a34f5a3f2d2cbc7 refs/tags/v11.12.0
|
|
43
43
|
323de62143b58142c1b49dba2ab9e120aa44926e refs/tags/v11.13.0
|
|
44
44
|
30dce70c61509dfd3e9f9b427dcb406e68985697 refs/tags/v11.14.0
|
|
45
|
+
76f5a2a075048c179bcabe4cad4f3e66e1f10b12 refs/tags/v11.15.0
|
|
45
46
|
9103d7d0e3104e99edb3d9a188d231ae0ce3947f refs/tags/v11.3.0
|
|
46
47
|
8c7312bf4266bdfeff959667faba7f8ef1e58f27 refs/tags/v11.4.0
|
|
47
48
|
d181d0dc49250f81e47eea64cdd8e6a93f7a95da refs/tags/v11.5.0
|
data/.git/refs/heads/master
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
5ea659281f2b7a99a04b52522551bce0625859eb
|
|
@@ -0,0 +1,52 @@
|
|
|
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: health_checks.proto
|
|
17
|
+
|
|
18
|
+
require "google/protobuf"
|
|
19
|
+
|
|
20
|
+
require "google/protobuf/timestamp_pb"
|
|
21
|
+
require "options_pb"
|
|
22
|
+
require "spec_pb"
|
|
23
|
+
|
|
24
|
+
Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
25
|
+
add_file("health_checks.proto", :syntax => :proto3) do
|
|
26
|
+
add_message "v1.HealthcheckListRequest" do
|
|
27
|
+
optional :meta, :message, 1, "v1.ListRequestMetadata"
|
|
28
|
+
optional :filter, :string, 2
|
|
29
|
+
end
|
|
30
|
+
add_message "v1.HealthcheckListResponse" do
|
|
31
|
+
optional :meta, :message, 1, "v1.ListResponseMetadata"
|
|
32
|
+
repeated :healthchecks, :message, 2, "v1.Healthcheck"
|
|
33
|
+
optional :rate_limit, :message, 3, "v1.RateLimitMetadata"
|
|
34
|
+
end
|
|
35
|
+
add_message "v1.Healthcheck" do
|
|
36
|
+
optional :id, :string, 1
|
|
37
|
+
optional :resource_id, :string, 2
|
|
38
|
+
optional :resource_name, :string, 3
|
|
39
|
+
optional :node_id, :string, 4
|
|
40
|
+
optional :node_name, :string, 5
|
|
41
|
+
optional :healthy, :bool, 6
|
|
42
|
+
optional :error_msg, :string, 7
|
|
43
|
+
optional :timestamp, :message, 8, "google.protobuf.Timestamp"
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
module V1
|
|
49
|
+
HealthcheckListRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.HealthcheckListRequest").msgclass
|
|
50
|
+
HealthcheckListResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.HealthcheckListResponse").msgclass
|
|
51
|
+
Healthcheck = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.Healthcheck").msgclass
|
|
52
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
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: health_checks.proto for package 'v1'
|
|
17
|
+
|
|
18
|
+
require "grpc"
|
|
19
|
+
require "health_checks_pb"
|
|
20
|
+
|
|
21
|
+
module V1
|
|
22
|
+
module HealthChecks
|
|
23
|
+
# HealthChecks lists the last healthcheck between each node and resource.
|
|
24
|
+
# Note the unconventional capitalization here is to prevent having a collision with GRPC
|
|
25
|
+
class Service
|
|
26
|
+
include ::GRPC::GenericService
|
|
27
|
+
|
|
28
|
+
self.marshal_class_method = :encode
|
|
29
|
+
self.unmarshal_class_method = :decode
|
|
30
|
+
self.service_name = "v1.HealthChecks"
|
|
31
|
+
|
|
32
|
+
# List gets a list of Healthchecks matching a given set of criteria.
|
|
33
|
+
rpc :List, ::V1::HealthcheckListRequest, ::V1::HealthcheckListResponse
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
Stub = Service.rpc_stub_class
|
|
37
|
+
end
|
|
38
|
+
end
|
data/lib/grpc/plumbing.rb
CHANGED
|
@@ -42,6 +42,7 @@ require_relative "./approval_workflows_pb"
|
|
|
42
42
|
require_relative "./approval_workflows_history_pb"
|
|
43
43
|
require_relative "./control_panel_pb"
|
|
44
44
|
require_relative "./drivers_pb"
|
|
45
|
+
require_relative "./health_checks_pb"
|
|
45
46
|
require_relative "./identity_aliases_pb"
|
|
46
47
|
require_relative "./identity_aliases_history_pb"
|
|
47
48
|
require_relative "./identity_sets_pb"
|
|
@@ -5691,6 +5692,88 @@ module SDM
|
|
|
5691
5692
|
end
|
|
5692
5693
|
items
|
|
5693
5694
|
end
|
|
5695
|
+
def self.convert_healthcheck_to_porcelain(plumbing)
|
|
5696
|
+
if plumbing == nil
|
|
5697
|
+
return nil
|
|
5698
|
+
end
|
|
5699
|
+
porcelain = Healthcheck.new()
|
|
5700
|
+
porcelain.error_msg = (plumbing.error_msg)
|
|
5701
|
+
porcelain.healthy = (plumbing.healthy)
|
|
5702
|
+
porcelain.id = (plumbing.id)
|
|
5703
|
+
porcelain.node_id = (plumbing.node_id)
|
|
5704
|
+
porcelain.node_name = (plumbing.node_name)
|
|
5705
|
+
porcelain.resource_id = (plumbing.resource_id)
|
|
5706
|
+
porcelain.resource_name = (plumbing.resource_name)
|
|
5707
|
+
porcelain.timestamp = convert_timestamp_to_porcelain(plumbing.timestamp)
|
|
5708
|
+
porcelain
|
|
5709
|
+
end
|
|
5710
|
+
|
|
5711
|
+
def self.convert_healthcheck_to_plumbing(porcelain)
|
|
5712
|
+
if porcelain == nil
|
|
5713
|
+
return nil
|
|
5714
|
+
end
|
|
5715
|
+
plumbing = V1::Healthcheck.new()
|
|
5716
|
+
plumbing.error_msg = (porcelain.error_msg)
|
|
5717
|
+
plumbing.healthy = (porcelain.healthy)
|
|
5718
|
+
plumbing.id = (porcelain.id)
|
|
5719
|
+
plumbing.node_id = (porcelain.node_id)
|
|
5720
|
+
plumbing.node_name = (porcelain.node_name)
|
|
5721
|
+
plumbing.resource_id = (porcelain.resource_id)
|
|
5722
|
+
plumbing.resource_name = (porcelain.resource_name)
|
|
5723
|
+
plumbing.timestamp = convert_timestamp_to_plumbing(porcelain.timestamp)
|
|
5724
|
+
plumbing
|
|
5725
|
+
end
|
|
5726
|
+
def self.convert_repeated_healthcheck_to_plumbing(porcelains)
|
|
5727
|
+
items = Array.new
|
|
5728
|
+
porcelains.each do |porcelain|
|
|
5729
|
+
plumbing = convert_healthcheck_to_plumbing(porcelain)
|
|
5730
|
+
items.append(plumbing)
|
|
5731
|
+
end
|
|
5732
|
+
items
|
|
5733
|
+
end
|
|
5734
|
+
|
|
5735
|
+
def self.convert_repeated_healthcheck_to_porcelain(plumbings)
|
|
5736
|
+
items = Array.new
|
|
5737
|
+
plumbings.each do |plumbing|
|
|
5738
|
+
porcelain = convert_healthcheck_to_porcelain(plumbing)
|
|
5739
|
+
items.append(porcelain)
|
|
5740
|
+
end
|
|
5741
|
+
items
|
|
5742
|
+
end
|
|
5743
|
+
def self.convert_healthcheck_list_response_to_porcelain(plumbing)
|
|
5744
|
+
if plumbing == nil
|
|
5745
|
+
return nil
|
|
5746
|
+
end
|
|
5747
|
+
porcelain = HealthcheckListResponse.new()
|
|
5748
|
+
porcelain.rate_limit = convert_rate_limit_metadata_to_porcelain(plumbing.rate_limit)
|
|
5749
|
+
porcelain
|
|
5750
|
+
end
|
|
5751
|
+
|
|
5752
|
+
def self.convert_healthcheck_list_response_to_plumbing(porcelain)
|
|
5753
|
+
if porcelain == nil
|
|
5754
|
+
return nil
|
|
5755
|
+
end
|
|
5756
|
+
plumbing = V1::HealthcheckListResponse.new()
|
|
5757
|
+
plumbing.rate_limit = convert_rate_limit_metadata_to_plumbing(porcelain.rate_limit)
|
|
5758
|
+
plumbing
|
|
5759
|
+
end
|
|
5760
|
+
def self.convert_repeated_healthcheck_list_response_to_plumbing(porcelains)
|
|
5761
|
+
items = Array.new
|
|
5762
|
+
porcelains.each do |porcelain|
|
|
5763
|
+
plumbing = convert_healthcheck_list_response_to_plumbing(porcelain)
|
|
5764
|
+
items.append(plumbing)
|
|
5765
|
+
end
|
|
5766
|
+
items
|
|
5767
|
+
end
|
|
5768
|
+
|
|
5769
|
+
def self.convert_repeated_healthcheck_list_response_to_porcelain(plumbings)
|
|
5770
|
+
items = Array.new
|
|
5771
|
+
plumbings.each do |plumbing|
|
|
5772
|
+
porcelain = convert_healthcheck_list_response_to_porcelain(plumbing)
|
|
5773
|
+
items.append(porcelain)
|
|
5774
|
+
end
|
|
5775
|
+
items
|
|
5776
|
+
end
|
|
5694
5777
|
def self.convert_identity_alias_to_porcelain(plumbing)
|
|
5695
5778
|
if plumbing == nil
|
|
5696
5779
|
return nil
|
data/lib/models/porcelain.rb
CHANGED
|
@@ -5652,6 +5652,75 @@ module SDM
|
|
|
5652
5652
|
end
|
|
5653
5653
|
end
|
|
5654
5654
|
|
|
5655
|
+
# Healthcheck defines the status of the link between a node and a resource
|
|
5656
|
+
class Healthcheck
|
|
5657
|
+
# The error if unhealthy
|
|
5658
|
+
attr_accessor :error_msg
|
|
5659
|
+
# Whether the healthcheck succeeded.
|
|
5660
|
+
attr_accessor :healthy
|
|
5661
|
+
# Unique identifier of the healthcheck.
|
|
5662
|
+
attr_accessor :id
|
|
5663
|
+
# Unique identifier of the healthcheck node.
|
|
5664
|
+
attr_accessor :node_id
|
|
5665
|
+
# The name of the node.
|
|
5666
|
+
attr_accessor :node_name
|
|
5667
|
+
# Unique identifier of the healthcheck resource.
|
|
5668
|
+
attr_accessor :resource_id
|
|
5669
|
+
# The name of the resource.
|
|
5670
|
+
attr_accessor :resource_name
|
|
5671
|
+
# The time at which the healthcheck state was recorded.
|
|
5672
|
+
attr_accessor :timestamp
|
|
5673
|
+
|
|
5674
|
+
def initialize(
|
|
5675
|
+
error_msg: nil,
|
|
5676
|
+
healthy: nil,
|
|
5677
|
+
id: nil,
|
|
5678
|
+
node_id: nil,
|
|
5679
|
+
node_name: nil,
|
|
5680
|
+
resource_id: nil,
|
|
5681
|
+
resource_name: nil,
|
|
5682
|
+
timestamp: nil
|
|
5683
|
+
)
|
|
5684
|
+
@error_msg = error_msg == nil ? "" : error_msg
|
|
5685
|
+
@healthy = healthy == nil ? false : healthy
|
|
5686
|
+
@id = id == nil ? "" : id
|
|
5687
|
+
@node_id = node_id == nil ? "" : node_id
|
|
5688
|
+
@node_name = node_name == nil ? "" : node_name
|
|
5689
|
+
@resource_id = resource_id == nil ? "" : resource_id
|
|
5690
|
+
@resource_name = resource_name == nil ? "" : resource_name
|
|
5691
|
+
@timestamp = timestamp == nil ? nil : timestamp
|
|
5692
|
+
end
|
|
5693
|
+
|
|
5694
|
+
def to_json(options = {})
|
|
5695
|
+
hash = {}
|
|
5696
|
+
self.instance_variables.each do |var|
|
|
5697
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
|
5698
|
+
end
|
|
5699
|
+
hash.to_json
|
|
5700
|
+
end
|
|
5701
|
+
end
|
|
5702
|
+
|
|
5703
|
+
# HealthcheckListResponse returns a list of Healthchecks that meet the criteria of a
|
|
5704
|
+
# HealthcheckListRequest.
|
|
5705
|
+
class HealthcheckListResponse
|
|
5706
|
+
# Rate limit information.
|
|
5707
|
+
attr_accessor :rate_limit
|
|
5708
|
+
|
|
5709
|
+
def initialize(
|
|
5710
|
+
rate_limit: nil
|
|
5711
|
+
)
|
|
5712
|
+
@rate_limit = rate_limit == nil ? nil : rate_limit
|
|
5713
|
+
end
|
|
5714
|
+
|
|
5715
|
+
def to_json(options = {})
|
|
5716
|
+
hash = {}
|
|
5717
|
+
self.instance_variables.each do |var|
|
|
5718
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
|
5719
|
+
end
|
|
5720
|
+
hash.to_json
|
|
5721
|
+
end
|
|
5722
|
+
end
|
|
5723
|
+
|
|
5655
5724
|
# IdentityAliases define the username to be used for a specific account
|
|
5656
5725
|
# when connecting to a remote resource using that identity set.
|
|
5657
5726
|
class IdentityAlias
|
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 = "2024-03-28"
|
|
32
|
-
USER_AGENT = "strongdm-sdk-ruby/11.
|
|
32
|
+
USER_AGENT = "strongdm-sdk-ruby/11.16.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.
|
|
@@ -75,6 +75,7 @@ module SDM #:nodoc:
|
|
|
75
75
|
@approval_workflows = ApprovalWorkflows.new(@channel, self)
|
|
76
76
|
@approval_workflows_history = ApprovalWorkflowsHistory.new(@channel, self)
|
|
77
77
|
@control_panel = ControlPanel.new(@channel, self)
|
|
78
|
+
@health_checks = HealthChecks.new(@channel, self)
|
|
78
79
|
@identity_aliases = IdentityAliases.new(@channel, self)
|
|
79
80
|
@identity_aliases_history = IdentityAliasesHistory.new(@channel, self)
|
|
80
81
|
@identity_sets = IdentitySets.new(@channel, self)
|
|
@@ -290,6 +291,11 @@ module SDM #:nodoc:
|
|
|
290
291
|
#
|
|
291
292
|
# See {ControlPanel}.
|
|
292
293
|
attr_reader :control_panel
|
|
294
|
+
# HealthChecks lists the last healthcheck between each node and resource.
|
|
295
|
+
# Note the unconventional capitalization here is to prevent having a collision with GRPC
|
|
296
|
+
#
|
|
297
|
+
# See {HealthChecks}.
|
|
298
|
+
attr_reader :health_checks
|
|
293
299
|
# IdentityAliases assign an alias to an account within an IdentitySet.
|
|
294
300
|
# The alias is used as the username when connecting to a identity supported resource.
|
|
295
301
|
#
|
|
@@ -485,6 +491,7 @@ module SDM #:nodoc:
|
|
|
485
491
|
@approval_workflows = ApprovalWorkflows.new(@channel, self)
|
|
486
492
|
@approval_workflows_history = ApprovalWorkflowsHistory.new(@channel, self)
|
|
487
493
|
@control_panel = ControlPanel.new(@channel, self)
|
|
494
|
+
@health_checks = HealthChecks.new(@channel, self)
|
|
488
495
|
@identity_aliases = IdentityAliases.new(@channel, self)
|
|
489
496
|
@identity_aliases_history = IdentityAliasesHistory.new(@channel, self)
|
|
490
497
|
@identity_sets = IdentitySets.new(@channel, self)
|
data/lib/svc.rb
CHANGED
|
@@ -2107,6 +2107,62 @@ module SDM #:nodoc:
|
|
|
2107
2107
|
end
|
|
2108
2108
|
end
|
|
2109
2109
|
|
|
2110
|
+
# HealthChecks lists the last healthcheck between each node and resource.
|
|
2111
|
+
# Note the unconventional capitalization here is to prevent having a collision with GRPC
|
|
2112
|
+
#
|
|
2113
|
+
# See {Healthcheck}.
|
|
2114
|
+
class HealthChecks
|
|
2115
|
+
extend Gem::Deprecate
|
|
2116
|
+
|
|
2117
|
+
def initialize(channel, parent)
|
|
2118
|
+
begin
|
|
2119
|
+
@stub = V1::HealthChecks::Stub.new(nil, nil, channel_override: channel)
|
|
2120
|
+
rescue => exception
|
|
2121
|
+
raise Plumbing::convert_error_to_porcelain(exception)
|
|
2122
|
+
end
|
|
2123
|
+
@parent = parent
|
|
2124
|
+
end
|
|
2125
|
+
|
|
2126
|
+
# List gets a list of Healthchecks matching a given set of criteria.
|
|
2127
|
+
def list(
|
|
2128
|
+
filter,
|
|
2129
|
+
*args,
|
|
2130
|
+
deadline: nil
|
|
2131
|
+
)
|
|
2132
|
+
req = V1::HealthcheckListRequest.new()
|
|
2133
|
+
req.meta = V1::ListRequestMetadata.new()
|
|
2134
|
+
if @parent.page_limit > 0
|
|
2135
|
+
req.meta.limit = @parent.page_limit
|
|
2136
|
+
end
|
|
2137
|
+
if not @parent.snapshot_time.nil?
|
|
2138
|
+
req.meta.snapshot_at = @parent.snapshot_time
|
|
2139
|
+
end
|
|
2140
|
+
|
|
2141
|
+
req.filter = Plumbing::quote_filter_args(filter, *args)
|
|
2142
|
+
resp = Enumerator::Generator.new { |g|
|
|
2143
|
+
tries = 0
|
|
2144
|
+
loop do
|
|
2145
|
+
begin
|
|
2146
|
+
plumbing_response = @stub.list(req, metadata: @parent.get_metadata("HealthChecks.List", req), deadline: deadline)
|
|
2147
|
+
rescue => exception
|
|
2148
|
+
if (@parent.shouldRetry(tries, exception))
|
|
2149
|
+
tries + +@parent.jitterSleep(tries)
|
|
2150
|
+
next
|
|
2151
|
+
end
|
|
2152
|
+
raise Plumbing::convert_error_to_porcelain(exception)
|
|
2153
|
+
end
|
|
2154
|
+
tries = 0
|
|
2155
|
+
plumbing_response.healthchecks.each do |plumbing_item|
|
|
2156
|
+
g.yield Plumbing::convert_healthcheck_to_porcelain(plumbing_item)
|
|
2157
|
+
end
|
|
2158
|
+
break if plumbing_response.meta.next_cursor == ""
|
|
2159
|
+
req.meta.cursor = plumbing_response.meta.next_cursor
|
|
2160
|
+
end
|
|
2161
|
+
}
|
|
2162
|
+
resp
|
|
2163
|
+
end
|
|
2164
|
+
end
|
|
2165
|
+
|
|
2110
2166
|
# IdentityAliases assign an alias to an account within an IdentitySet.
|
|
2111
2167
|
# The alias is used as the username when connecting to a identity supported resource.
|
|
2112
2168
|
#
|
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: 11.
|
|
4
|
+
version: 11.16.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-10-
|
|
11
|
+
date: 2024-10-30 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-e562871e9a481abb4106ccb5bc169fb5bb7000dd.idx"
|
|
85
|
+
- "./.git/objects/pack/pack-e562871e9a481abb4106ccb5bc169fb5bb7000dd.pack"
|
|
86
86
|
- "./.git/packed-refs"
|
|
87
87
|
- "./.git/refs/heads/master"
|
|
88
88
|
- "./.git/refs/remotes/origin/HEAD"
|
|
@@ -133,6 +133,8 @@ files:
|
|
|
133
133
|
- "./lib/grpc/control_panel_pb.rb"
|
|
134
134
|
- "./lib/grpc/control_panel_services_pb.rb"
|
|
135
135
|
- "./lib/grpc/drivers_pb.rb"
|
|
136
|
+
- "./lib/grpc/health_checks_pb.rb"
|
|
137
|
+
- "./lib/grpc/health_checks_services_pb.rb"
|
|
136
138
|
- "./lib/grpc/identity_aliases_history_pb.rb"
|
|
137
139
|
- "./lib/grpc/identity_aliases_history_services_pb.rb"
|
|
138
140
|
- "./lib/grpc/identity_aliases_pb.rb"
|